SQL SERVER中有个聚集索引的概念,说的是数据的物理存储顺序就是按照聚集索引列有序的存储,那么有个疑问,它的维护代价应该不小吧,SQL SERVER是通过什么技术进行维护的?比如有1亿条数据,在插入了一行,该行的聚性索引属性的值居中,并且相关的数据块都满了。是通过指针来弄个溢出块吗?

解决方案 »

  1.   

    索引维护基本都差不多的,聚集索引 你一定要选好key列。不然如果有大量插入,那么就会分页,分页的代价是很高的。而且容易照成碎片。聚集索引有毛病但是 效果也是很明显的
      

  2.   

    聚集索引他只是类似于物理连续吧!其实是双向链表连接.如果真是物理连续是不是转速在快的硬盘也忙不过来吧! 如
    索引建立在此列
    userid
    aa
    ac
    ba
    bb
    bc
    一共1亿条数据..我现在要吧ab插入这个表..如果物理连续会不会..从ac-最后一条 这99999999 条数据都要从先改变他原来存储的位置类!
    双向链表
    aa--ac双向
    添加一列
    aa--ab--ac
      

  3.   

    sql server的索引都是二叉树结构的,新增记录时,只是更新了该二叉树的某个节点的指针.