谈谈你对索引的理解?

索引的出现是为了提高数据的查询效率,就像书的目录一样。一本500页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下,那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的“目录”。

同样索引也会带来很多负面影响:创建索引和维护索引需要耗费时间,这个时间随着数据量的增加而增加;索引需要占用物理空间,不光是表需要占用数据空间,每个索引也需要占用物理空间;当对表进行增、删、改、的时候索引也要动态维护,这样就降低了数据的维护速度。

建立索引的原则:

  1. 在最频繁使用的、用以缩小查询范围的字段上建立索引;

  2. 在频繁使用的、需要排序的字段上建立索引。

不适合建立索引的情况:

  1. 对于查询中很少涉及的列或者重复值比较多的列,不宜建立索引;

  2. 对于一些特殊的数据类型,不宜建立索引,比如:文本字段(text)等。

发表回复

后才能评论

评论(4)

  • mpweixin用户 2023年3月15日 下午6:14

    好像可以取文本的前n个字符作为索引的。

  • mpweixin用户 2022年11月15日 下午3:32

    text为什么不宜建立索引

  • mpweixin用户 2022年6月9日 下午1:14

    有没有实际开发中对索引应用的一些理解

  • mpweixin用户 2022年4月2日 下午3:43

    建立索引的原则好像有点不通顺,是不是应该是最高频率使用