好久不写东西了,一直忙于各种杂事儿,恰巧昨天有个用户研发问到我一个SQL调优的问题,说性能太差,希望我能给调优下,最近有些懒,可能和最近太忙有关系,本来打算问问现在的情况,如果差不多就不调了,那哥们儿说:现在要半个小时才出结果。这个确实有点离谱,这么慢的性能,再有耐心的人也等不及,没办法,只能开工了。要了SQL及执行计划,看了下执行计划和SQL语句,明白了问题出在哪里,问题就出在执行计划上,没别的办法,只能改写了SQL语句,发给他。他试后说,现在不到1s出结果,我问他这样的性能是否能满足他们的需求,他高兴的说:速度很快了,已经很快了。调优成功,前后用时十分钟,下面为调优前后的执行计划,大家可以参照研究学习:
调优前执行计划:
调优后执行计划:
因为已经能满足用户需求,所以就没再进一步调优,该SQL中仅仅涉及到两个表,计划中最上面的count为一个表,下面所有步骤为另外一个表,文中没能贴出具体SQL及略去计划中某些细节,如需了解更多细节,可到本人QQ空间浏览,见谅,望能对各位有所帮助和启发。