谈谈你对索引的理解?
索引的出现是为了提高数据的查询效率,就像书的目录一样。一本500页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下,那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的“目录”。
同样索引也会带来很多负面影响:创建索引和维护索引需要耗费时间,这个时间随着数据量的增加而增加;索引需要占用物理空间,不光是表需要占用数据空间,每个索引也需要占用物理空间;当对表进行增、删、改、的时候索引也要动态维护,这样就降低了数据的维护速度。
建立索引的原则:
- 在最频繁使用的、用以缩小查询范围的字段上建立索引;
-
在频繁使用的、需要排序的字段上建立索引。
不适合建立索引的情况:
-
对于查询中很少涉及的列或者重复值比较多的列,不宜建立索引;
-
对于一些特殊的数据类型,不宜建立索引,比如:文本字段(text)等。
评论(4)
好像可以取文本的前n个字符作为索引的。
text为什么不宜建立索引
有没有实际开发中对索引应用的一些理解
建立索引的原则好像有点不通顺,是不是应该是最高频率使用