ORACLE 中 2个大表(超过1亿),是in效率高还是exists效率高?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE 中 2个大表(超过1亿),是in效率高还是exists效率高?相关的知识,希望对你有一定的参考价值。

两个表链接字段都是索引,而且都建立了分区,A(180,000,000),B:(90,000,000),其中以B表为基准去分组统计。

基本情况就这样,大家给点意见

具体情况具体分析
如果in里面的第一个命中率高,显然in要高

一般来说,exists要高于in...

超过1亿的数据优化,不应该在in exists上面了。追问

麻烦在给点意见

参考技术A 这个要看解析,有时候in好,有时候exists好,有时候with tmp as好,不过最稳定的还是join,所以尽量用join。不过这么大的表,维护主要看分区做的怎么样,in这些逻辑符不是最关键的。 参考技术B 年结,封装并转移旧数据是我会考虑的,我觉得超大型表的存在是不健康的设计

以上是关于ORACLE 中 2个大表(超过1亿),是in效率高还是exists效率高?的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE 大表索引问题:数据量5亿+,做查询,按时间一个月分区,查询会用到3 4个字段,如何见索引

oracle in和exists的区别

Python中数千个大表的外连接

sql中in和exists效率问题 转自百度知道

在 3 个大表上使用内连接优化 SQL 查询

sql中in和exists的区别效率问题 转