- SqlServer活动监视器调成1s刷新间隔
-
查看资源等待
(1)memory(内存)占用高时-->加内存
(2)latch(业级锁)(并发量大时产生)-->调整cpu核心数可能解决(不一定核心越多越好)
(3)Network I/O 高 -->网络不好
(4)lock 锁等待 -->调整sql语句或存储过程 -
sql语句加锁方法
(1)sql+with(TABLOCKX)排他锁 (一个sql占用表时使其他sql等待) 可能导致卡慢
(2)sql+with(NOLOCK)不加锁 (其他sql可以同时更改表) - 查找耗费大量资源的查询sql
(1) 选择执行时间长并且执行次数多的sql 选择'包括执行计划' 执行结束后SqlServer可以自动尝试加索引 - 查看主键缺失情况,索引使用情况(好的索引是只读不写)
- 找到SqlServer维护计划,重新生成索引
- 将一部分计算逻辑写到程序中来分担数据库服务器压力
- 类似月度和季度的冷报表,可以单独加个表查询出来,而不必每次想看的时候再执行复杂查询