SqlServer卡慢解决办法

  • SqlServer活动监视器调成1s刷新间隔
  1. 查看资源等待

    (1)memory(内存)占用高时-->加内存
    (2)latch(业级锁)(并发量大时产生)-->调整cpu核心数可能解决(不一定核心越多越好)
    (3)Network I/O 高 -->网络不好
    (4)lock 锁等待 -->调整sql语句或存储过程 

  2. sql语句加锁方法
    (1)sql+with(TABLOCKX)排他锁   (一个sql占用表时使其他sql等待)  可能导致卡慢
    (2)sql+with(NOLOCK)不加锁 (其他sql可以同时更改表)

  3. 查找耗费大量资源的查询sql
    (1) 选择执行时间长并且执行次数多的sql 选择'包括执行计划' 执行结束后SqlServer可以自动尝试加索引
  4. 查看主键缺失情况,索引使用情况(好的索引是只读不写)
  5. 找到SqlServer维护计划,重新生成索引
  6. 将一部分计算逻辑写到程序中来分担数据库服务器压力
  7. 类似月度和季度的冷报表,可以单独加个表查询出来,而不必每次想看的时候再执行复杂查询
原文地址:https://www.cnblogs.com/xiaowei3632/p/8041812.html