当前位置: 代码迷 >> Oracle开发 >> oracle大表联系关系怎样优化
  详细解决方案

oracle大表联系关系怎样优化

热度:122   发布时间:2016-04-24 06:37:21.0
oracle大表关联怎样优化
oracle两张大表table1 和table2数据量都在5000万左右。
两张表均有a,b,c三个字段,并通过这三个字段关联
查询的sql语句如下

SELECT A.XX FROM TABLE1 A, TABLE2 B
WHERE A.A=B.A
AND A.B=B.B
AND A.C=B.C
AND B.TYPE IN (1,2,3)

B.TYPE 有4个类型为1,2,3,4平均都是1000多万。
请问这个sql怎样优化,做索引感觉没啥效果,因为基本上是全表关联,那做分区表如何,比如两张表按照(a,b,c)做hash分区
。请问这种语句应该怎样优化,大家帮忙给个建议,谢谢!
------解决方案--------------------
待高手解答。。学习一下。。
B.TYPE加索引肯定没啥效果。
两个表都5000万的数据量不分区的话肯定够呛
------解决方案--------------------
 我能想到的也不多,表a和表b都建立分区,表b的TYPE列最好建立索引
------解决方案--------------------
请问a,b,c三个字段存的都是什么类型的数据
楼上说的应该是散列分区,范围分区等吧

------解决方案--------------------
分区在这里没用
只是两张大表简单的连接,返回千万级的结果

全表扫描+哈希连接是免不了的,没什么可优化的地方
这个查询有什么用处呢?还是只是为了建一个视图
  相关解决方案