1. 首页
  2. IT资讯

Oracle 表连接 筛选字段执行计划不正确

问题: 表SUMM_ADV_CONSUME是分区表,发出一个查询如下 select count(*) from dates T434858, SUMM_ADV_CONSUME T434932 where T434858.DATE_ID = T434932.DATE_ID and T434858.DATE_NAME = ‘20131202’ 产生的执行计划扫描很多分区表,正常情况是一个分区表。使用同样的逻辑查询,用另个筛选条件date_name2 select count(*) from dates T434858, SUMM_ADV_CONSUME T434932 where T434858.DATE_ID = T434932.DATE_ID and T434858.DATE_NAME2 = to_date(‘20131105’, ‘yyyymmdd’) 只扫描一个分区表,执行计划正确。 分析两个字段发现date_name2上有建唯一索引。 对date_name创建唯一索引也能得出正确的执行计划。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16582684/viewspace-1062038/,如需转载,请注明出处,否则将追究法律责任。

主题测试文章,只做测试使用。发布者:布吉卡,转转请注明出处:http://www.cxybcw.com/193267.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code