我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:彩66彩票 > 多条语句 >

带临时表的SQL查询语句的优化方法

归档日期:05-06       文本归类:多条语句      文章编辑:爱尚语录

  【IT168 原创】故障突发:11号上午,收到系统应用人员的反馈:“销售日报”无法查询出结果,已经等待一个小时,屏幕依然是灰的,而以往该报表2分钟内即可出结果,IT部的同事看一下怎么回事,领导在等报表。我登录数据库,查询当前系统的进程情况下图(2),发现确实有些进程已经运行3600+秒,捕捉出其执行计划,如:下图(3)

  印象中,该报表以前优化过,耗时也就几秒到几十秒,效率算得上是非常高的。观察此执行计划,CBO预估的查到数据非常少,但由于报表的SQL语句中使用上了临时表(TYBBSALEDAILYBD21 ),而临时表的数据在库中是无法查看到的,我也不清楚临时表的数据是如何生成的,因此,无法判断CBO预估的临时表的行数是否准确,该如何下手?

  此时,想起测试环境上,有上月对该库进行RMAN恢复测试后留下的测试库。于是启动测试中间件,让测试中间件指向该测试库,尝试在上面查询该报表,看看运行情况如何?

  可以看到,测试库上的执行计划,与正式库的完全不一样,而且在测试库上的查询的效率正常,和以往的一样,几十秒即出结果,显然,问题出在正式库的执行计划上,

本文链接:http://chapmanswifts.com/duotiaoyuju/218.html