sql 提升查询效率 group by option hash group
问题:
一个程序查询经常超过20siis限制时间,排查问题后发现其中的一个存储过程时间会在15s左右
解决思路:
1:确认问题点
通过输出时间的方式查看存储过程中每个部分的执行时间,找到最耗时的三个过程
2:解决问题
发现查询过程中出现 with nolock ,对于查询过程没有用处,删除
先思考是否建立索引,发现有一个重要查询条件没有索引,建立索引后查询时间从8s秒降低到7秒
最后看到group by 会导致时间变长,加OPTION(hash group)减少group by 的影响
结果:最终单个查询过程的时间从9S=》0S ,总查询过程从15S=》1S
原理:
还在学习sql 中关于 option (hash group )的内容,学会了在分享原理吧。