开发者社区> 问答> 正文

mysql设置了索引之后,他在什么时候生效

已解决

设置了索引字段后。
他到底什么情况下生效。。或者说起作用

展开
收起
西秦说云 2016-02-01 15:40:44 2781 0
1 条回答
写回答
取消 提交回答
  • 码农|Coder| Pythonista
    采纳回答

    简单的说:查询的时候生效。

    索引(indexes)就好像书籍的目录/或者字典里的字母表和偏旁部首表(这也是 index 的本意),它在你需要从书或字典里查找内容的时候发挥作用。

    比如说你有一本关于数据库的书(相当于表),你想要查询其中关于索引的章节(查询条件),你就可以在目录里(相当于索引)找到索引标题,然后看到对应的页数为235(记录行数),这样你很快就找到它了。

    如果你没有索引,那就只能一页一页的翻直到找到索引这一章为止,这就叫做全表扫描——当然是不好的。

    但是索引也不是只要有了就一定好的。还是上面的例子,假设这一次你要找的是数据库(想想看,一本关于数据库的书,里面会有多少内容是包含数据库三个字的),那么索引几乎帮不上你什么忙(结果太多了),这和你做一次全表扫描没啥差别。

    再比方说你这本书一共就10页,那么索引也没啥用处(索引本身还得占个一两页)。

    索引本身得有意义,标记重要的,极少重复的信息。对于一本书来说,你把每一个字都做索引就是毫无意义的事情。

    综上所述你大概就知道在什么条件下你才可以直观的感受到索引带来的变化了吧?

    2019-07-17 18:27:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像