sql 提升查询效率 group by option hash group

问题:

一个程序查询经常超过20siis限制时间,排查问题后发现其中的一个存储过程时间会在15s左右

解决思路:

1:确认问题点

通过输出时间的方式查看存储过程中每个部分的执行时间,找到最耗时的三个过程

2:解决问题

发现查询过程中出现 with nolock ,对于查询过程没有用处,删除

先思考是否建立索引,发现有一个重要查询条件没有索引,建立索引后查询时间从8s秒降低到7秒

最后看到group by 会导致时间变长,加OPTION(hash group)减少group by 的影响


sql 提升查询效率 group by option hash groupsql 提升查询效率 group by option hash group
sql 提升查询效率 group by option hash groupsql 提升查询效率 group by option hash group

sql 提升查询效率 group by option hash group

sql 提升查询效率 group by option hash group

sql 提升查询效率 group by option hash group

sql 提升查询效率 group by option hash group


结果:最终单个查询过程的时间从9S=》0S ,总查询过程从15S=》1S


原理:

还在学习sql 中关于 option (hash group )的内容,学会了在分享原理吧。

上一篇:【题解】洛谷P2679 [NOIP2015TG] 子串(DP+滚动数组)


下一篇:Web前端开发实战6:CSS实现导航菜单结合二级下拉式菜单的简单变换