SQL Server 性能优化
时间:2010-08-27 来源:昝昝
服务器性能优化:
1.建立性能基线
2.建立监视
3.分析监视结果
相关工具:
1.Windows工具
Perfmon,TskMgr,EventMon,NetMon
2.Sql Server 工具
事件探查器
查询优化顾问
SQL 管理器
Log
执行计划
活动监视
各种Report
TSQL 性能优化:
1.目标
I/O
CPU
内存
2.步骤
分析查询
DBCC FREESYSTEMCACHE('ALL')
索引检查
优化建议
3.对象设计
范式
分区
水平分区(行分区):
分区表,分区视图
垂直分区(列分区):
垂直分区基于字段被修改和查询的紧密程度不同以及字段被修改和查询的频率不同来设计,出发点就是要降低I/O成本。
4.索引
聚集索引叶子节点包含数据,存储在数据页中
非聚集索引叶子节点包含索引行,索引行包含非聚集索引键值,行定位符和包含列
行定位符:有聚集索引的为聚集索引键值,如果聚集索引键值不唯一,则还要包含一个4为的内部ID;没有聚集索引的由文件ID,页ID,行ID组成。
5.查询计划
SQL的查询计划的缓冲是以SQL语句作为Key来存储的,因此要尽量以参数化的方式向SQL Server来提交查询,这要可以保证查询计划的重用。
6.其他
注意不用在WHERE条件中使用函数和运算
注意在WHERE条件或JOIN条件中由于类型不配置而造成的隐式类型转换
游标要使用静态游标
不要跨服务器远程访问VIEW,因为不能用到任何索引和优化