聚集索引:
定义:指数据库表行中数据的物理顺序与键值的逻辑(索引)顺序相同。
简单说就如同上图,每本书上都有一个小标,这个小标和这本书是始终粘在一起,标签的顺序就是书在书柜上的顺序,每本书上都有自己唯一的标签,所以说聚集索引是唯一的,同时也是直接指定对应的数据(例子中的书的位置)
在数据库中由主键作为聚集索引。
在聚集索引数据量依旧巨大的情况下,可以对聚集索引进行分层以提高检索速度
比如当主键为数学型数据,如学号等,那么我们可以按取值范围进行二次分层,之后再最终确定需要找的学生
蓝色部分均为主键
橙色部分才是数据
非聚集索引
非聚集索引是一种索引,该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同.
其实非聚集索引是对聚集索引的一种补充,试想一下你有这么一种需求,就是你要找到来自北京的学生的全部信息,在这种情况之下你并不能利用上面那个聚集索引进行查找,因为你压根不知道北京学生的学号,这时我们只需要将地区设为非聚集索引,这个索引的作用就是将地区和学号联系起来,之后在通过学号这个聚集索引来找到对应学生的全部信息。
所以说非聚集索引不指向数据,而是指向聚集索引
同时非聚集索引可以根据我们的实际需求设立多个。
每种检索都需要借助聚集索引。