索引除了可以让服务器快速定位到表的制定位置之外,根据创建的索引数据结构不同,索引也有一些其他的附加作用.

如最常见的B-Tree索引,按按照顺序存储数据,所以MySQL可以用来做ORDER BY 和GROUP BY操作.因为索引中数据是有序的,所以B-Tree也就会讲相关的列值都存储在一起.最后因为索引中存储了实际的列值,所以某些查询只是用索引就能够完成全部查询.总结下来索引有如下三个优点:

  1. 索引打打减少了服务器需要扫描的数据量
  2. 索引可以帮助服务器避免排序和临时表
  3. 索引可以将随机I/O变为顺序I/O

这里介绍一个评价索引是否适合某个查询的"三星系统":
索引将相关的记录放到一起则得一星;
如果索引中的数据顺序和查找中的排序顺序一致则获得二星;
如果索引中包含了查询中需要的全部列则获得"三星";

最后修改:2021 年 03 月 15 日
如果想投币,那就打发点儿咯.