|
有两个表t1 5000w 行数据,t2 5000w 行数据,按天分区,一天大概5w数据,俩个表都是这样的增量,分区键值TM to_date(sysdate,‘yyyy-mm-dd hh24:mi:ss’)现在发现一个问题
我做 关联查询,如:select t1.a,t2.b from t1,t2 where t1.id=t2.id and t1.TM>=to_date('2017-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss')
and t1.TM<to_date('2017-08-24 00:00:00','yyyy-mm-dd hh24:mi:ss') and t2.TM>=to_date('2017-08-23 00:00:00','yyyy-mm-dd hh24:mi:ss')
and t2.TM<to_date('2017-08-24 00:00:00','yyyy-mm-dd hh24:mi:ss') ;
这样的查询会走好久,执行计划,显示,走的是分区索引TM,也就是造成了5w*5w数据的一个索引扫描,所以耗时,
我想问的是,这个 明显是 两个分区的 全扫描关联更快,有啥办法能让oracle 更智能一点吗?毕竟我需要整个分区表的数据,不需要走索引,对于条件来说,确实索引区别度高
但那不是最好的,我要的是个时间段的,数据,有没有办法让统计信息,自动计算,一整天的统计信息,别做那么洗的区分的统计。
除了hint ,有没有好的方法,从,不改应用,不改代码,不固定执行计划,方面解决
|
|