索引统计信息的更新
当在一个包含数据的表上创建索引的时候SQL Server会创建分布数据页来存放有关索引的两种统计信息分布表和密度表优化器利用这个页来判断该索引对某个特定查询是否有用但这个统计信息并不动态地重新计算这意味着当表的数据改变之后统计信息有可能是过时的从而影响优化器追求最有工作的目标因此在下面情况下应该运行update statistics命令
()数据行的插入和删除修改了数据的分布
()对用truncate table删除数据的表上增加数据行
()修改索引列的值
六结束语
实践表明不恰当的索引不但于事无补反而会降低系统的执行性能因为大量的索引在插入修改和删除操作时比没有索引花费更多的系统时间例如下面情况下建立的索引是不恰当的
在查询中很少或从不引用的列不会受益于索引因为索引很少或从来不必搜索基于这些列的行
只有两个或三个值的列如男性和女性(是或否)从不会从索引中得到好处
另外鑒于索引加快了查询速度但减慢了数据更新速度的特点可通过在一个段上建表而在另一个段上建其非聚簇索引而这两段分别在单独的物理设备上来改善操作性能
[] [] [] [] [] []