为了提升查询查询效率,咱们一般习惯对表建索引,索引分为汇集索引和非汇集索引,它们都是一种B树型的存储结构。索引
若是一个表没有汇集索引,那么它是以堆的方式存储,也就是表中的数据没什么顺序的。不然假如咱们为表建立了汇集索引,那么其存储是有顺序的。效率
其实有建立了汇集索引的表,数据表自己也是索引,只是做为叶子节点存在。数据
建立非汇集索引不会影响表的存储方式,换句话说,表仍是以堆的方式存储。建立非汇集索引的时候,多个书签列,这个书签列的值,是由表是否有汇集索引决定的。查询
若是表中有汇集索引,那么书签值是汇集索引的键值,当按索引查找的时候,会先找到该索引行,而后再经过该索引行存储的键值去查找表中的数据。文件
若是表中没有汇集索引,那么书签值是RID值,也是是存储的是(文件:页:行),经过定位就能找到该行数据,该值是一个物理地址,不是键值了。习惯