SQL SERVER 里的聚集索引,概念有点象ORACLE的IOT表,整个表的物理存储顺序是由小到大来存储,不同的是SQLSERVER是按聚集索引键,ORACLE是按主键,当然每个表的聚集索引只会有一个,因为表的存储顺序只会有一种。
聚集索引跟普通索引的不同在于,聚集索引的“叶级”就是表本身。根据普通索引查找一条记录,要先找到叶子级,找到记录的指针,再去表中找那条记录。而聚集索引找到了叶子级也就找到记录了,叶子即是表。
聚集索引跟表分区在功能上的不同在于,聚集索引更灵活,如果我想抓3个月的数据,他的I/O量就是扫描3个月的,如果我想抓7天的数据,他的I/O就刚好是7天的数据。而分区就不行了,如果我是按月分的,抓7天的数据也会扫描整个分区。
IOT是根据主键(主键是在创建iot的时候强制性定义的)来排序的,但聚集索引可以用任何一个字段来排序,这个字段可以有重复值