--=========================================================
更新时的操作1>更新时有两种方式,一种是在原来的位置更新,另外一种是移除删除再插入。2>无论采用何种方式更新数据,在触发器中都能使用DELETED和INSERTED表来获取更新前和更新后数据。 --=========================================================--8亿数据创建非聚集索引时间数据表中数据:873476300建立索引耗时:41分39秒 索引键:BIGINT+DATETIME+INT服务器配置:8核32G内存 7块SAS硬盘做成的RAID5,内存资源不足 --=========================================================堆表和聚簇表测试INSERT: 当数据库文件单次增长较小时,聚簇表插入效率会相对高,但当当数据库文件单次增长较大时,数据文件不需要频繁增长,堆表的插入效率略高于聚簇表。SELECT/UPDATE/DELETE:聚簇表性能高于堆表(聚簇索引被使用时)表无须额外增加过多空间来存放聚簇索引,只需少量空间存放非叶子节点
--=========================================================
DML操作在聚簇索引和非聚簇索引上的顺序测试结论:1>在插入数据时,先插入聚簇索引,再插入非聚簇索引2>在更新数据时,先更新聚簇索引,再更新非聚簇索引3>在删除数据时,先将非聚簇索引上数据MARK AS GHOST,然后再将聚簇索引上数据MARK AS GHOST,再删除聚簇索引上数据,最后移除非聚簇索引上数据
--=========================================================
数据的物理顺序和聚簇索引的顺序完全一致吗?结论:在同一数据页上,数据的顺序和Slot的顺序一致,但数据不一定依次存放在依次递增的数据页上(逻辑碎片)