关于三星索引概念的理解和解释

三星索引系统的概念是 在《Rrelational Database Index Design and the optimizers》 一书中提出来的。原文如下:

  The index earns one star if it places relevant rows adjacent to each other,  

  a second star if its rows are sorted in the order the query needs, 

  and a final star if it contains all the columns needed for the query.

 

翻译

如果将相关行相邻放置,则该指数可得一颗星,

如果按查询需要的顺序对其行进行排序则获得第二颗星

如果包含查询所需的所有列,则获得第三颗星。

 

 

解释

  1. 第一颗星,是让索引片尽量变窄,where后面的谓词和索引列匹配的越多,索引片越窄,最终扫描的数据行也是越小

  2. 第二颗星,是避免排序,如果结果集采用现有顺序读取,那么就会避免一次排序,避免提前物化结果集

  3. 第三颗星,避免每一个索引行查询,都需要去聚簇索引进行一次随机IO查询

3的继续解释说明:

 聚簇索引下存放的是那一行数据的索引既主键索引  然后去主键索引的B+TREE中去寻找一整行数据然后 取得相应的值返回

 

转载于:https://my.oschina.net/fusublog/blog/3067335