clustered index的好处:
1)数据行是按主键顺序存储在一起的,读取少量的磁盘页面就可以把相邻主键的数据读出来。
2)索引和数据都保存在一棵B+ tree中,从索引中读取数据较快
3)使用覆盖索引的查询可以使用包含在叶子节点的主键值。
clustered index缺点
1)更新clustered index列代价是昂贵的,因为要强制把每个更新的数据行移到新位置
2)按主键顺序插入新行是一种好方法,否则更新主键或插入到随机插入性能开销比较大,数据行移动的时候还可能分页,其实道理和第一条一样。
3)辅助索引叶子节点包含的是主键列,而不是直接的数据行地址,所以辅助索引会相对较大
4)通过辅助索引的查找先找到的是主键列,然后再在主键索引中进行第二次查找,需要2次查找索引