合理建立索引-提高SQL Server的性能之法
2009-06-05 18:51:48 来源:WEB开发网核心提示:(3)、要进行大量插入操作或已经完成,(4)、使用大块I/O的查询的磁盘读次数比预料的要多,合理建立索引-提高SQL Server的性能之法(4),(5)、由于大量数据修改,使得数据页和索引页没有充分使用而导致空间的使用超出估算,可通过在一个段上建表,而在另一个段上建其非聚簇索引,(6)、dbcc检查出索引有问题,当重
(3)、要进行大量插入操作或已经完成。
(4)、使用大块I/O的查询的磁盘读次数比预料的要多。
(5)、由于大量数据修改,使得数据页和索引页没有充分使用而导致空间的使用超出估算。
(6)、dbcc检查出索引有问题。
当重建聚簇索引时,这张表的所有非聚簇索引将被重建。
2、索引统计信息的更新
当在一个包含数据的表上创建索引的时候,SQL Server会创建分布数据页来存放有关索引的两种统计信息:分布表和密度表。优化器利用这个页来判断该索引对某个特定查询是否有用。但这个统计信息并不动态地重新计算。这意味着,当表的数据改变之后,统计信息有可能是过时的,从而影响优化器追求最有工作的目标。因此,在下面情况下应该运行update statistics命令:
(1)、数据行的插入和删除修改了数据的分布。
(2)、对用truncate table删除数据的表上增加数据行。
(3)、修改索引列的值。
六、结束语
实践表明,不恰当的索引不但于事无补,反而会降低系统的执行性能。因为大量的索引在插入、修改和删除操作时比没有索引花费更多的系统时间。例如下面情况下建立的索引是不恰当的:
1、在查询中很少或从不引用的列不会受益于索引,因为索引很少或从来不必搜索基于这些列的行。
2、只有两个或三个值的列,如男性和女性(是或否),从不会从索引中得到好处。
另外,鉴于索引加快了查询速度,但减慢了数据更新速度的特点。可通过在一个段上建表,而在另一个段上建其非聚簇索引,而这两段分别在单独的物理设备上来改善操作性能。
[]
- ››建立唯美图片特效,十个jQuery插件分享
- ››合理设置SQL Server 2008服务器安装向导
- ››合理配置二进制排序规则
- ››建立自己的TextView和ImageView的组合View类
- ››合理的网站内链是排名及用户体验的“双刃剑”
- ››合理更换网站标题对网站有益无害
- ››建立虚拟专用网 使用SSH保护网络通信
- ››建立一个 Derby 日历,第 1 部分: 理解 JDBC
- ››建立一个 Derby 日历,第 2 部分: 嵌入选项(上)...
- ››建立一个 Derby 日历,第 2 部分: 嵌入选项(下)...
- ››建立一个 Derby 日历,第 3 部分: 使用事务和锁定...
- ››建立一个 Derby 日历,第 3 部分: 使用事务和锁定...
更多精彩
赞助商链接