代码改变世界

关于数据库优化杂技

2015-09-09 23:30  qy1141  阅读(165)  评论(0编辑  收藏  举报

作为记录,一些最基本的检查:

1、通过管理工具,性能查看器,根据磁盘io,两个重要指标:PhysicalDisk中的Avg.Disk Read Queue Length 和 Avg.Disk Write Queue Length,如果这两个平均值大于0.5,就需要注意磁盘io的性能了;

2、数据库日志文件是否很慢,会拖慢系统速度;如何收缩日志需要注意;

3、tempDb数据库是否很大,会拖慢系统速度;数据库每次重启,会重建tempdb,

4、通过SqlProfiler来跟踪sql语句的查询效率;

解决办法,对提高数据库性能有帮助:

1、给tempdb分配一个初始值较大的空间,如数据文件300m,日志文件50m;

2、数据库事务默认的级别Read Committed,并发性低,可以设置为行版本控制的可提交读:READ_COMMITTED_SNAPSHOT,给每张表增加一个Version字段,手动控制版本,这样既能提高并发性,也避免了读取脏数据;

     ALTER DATABASE dbname SET READ_COMMITTED_SNAPSHOT ON