中易网

oracle的where not in 语句不能应付超大数据量的排查,怎么办

答案:4  悬赏:0  
解决时间 2021-02-22 02:06
oracle的where not in 语句不能应付超大数据量的排查,怎么办
最佳答案
where not in如果数据量过大,可采用not exists的方式来写语句。
如有以下语句:
select distinct phone_number from zj_jituan_3g where phone_number not in (select phone_number from zj_34g_201512);可改写为:
select distinct a.phone_number from zj_jituan_3g a where not exists 
(select 1 from zj_34g_201512 b where a.phone_number=b.phone_number);
全部回答
话说你在哪里用到了not in 了。
使用minus
使用in 或 not in是用不上索引的,可以考虑在小表中使用,而exists或not exists 能用上索引,可以考虑在大数据量表中使用;select mc from 表1 t1 where exists(select 1from 表2 t2 where t1.mc = t2.mc);select mc from 表1 t1 where not exists(select 1 mc from 表2 t2 where t1.mc = t2.mc);楼上推荐答案里应该使用not exists;另外,问题中的2个表按说数据量都不大,即使用 not in 用不上索引全表扫也不应该查不出来,应该检查一下还有没有别的问题。
尽量使用exists语句,不要用in
select mc from 表1 t1 where exists(select 1 mc from 表2 t2 where t1.mc = t2.mc)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
众信农民专业合作社在哪里啊,我有事要去这个
80平米房子2万元如何装修
请问消防职业资格证书(控制室)遗失了能补办吗
味道工厂百姓生活菜馆地址在哪,我要去那里办
中级育婴师证有用吗
二级建造师证书领取时间错过怎么办?急急急急
想在店里面装音乐音箱,请问什么音箱好
淘宝买的衣服 收到兜是破的 扣子还磨了 卖家
170平方分米=?平方米
阳朔拉菲商行地址在什么地方,想过去办事
心里暖意融融 小标题作文
做树叶贴画作文
云夷诊所在哪里啊,我有事要去这个地方
柳州买五菱车的最大经销商的电话号
外贸进口中ICE CHARGE是什么意思?
推荐资讯
六角亭街道在哪里啊,我有事要去这个地方
古麦优品牛肉面在哪里啊,我有事要去这个地方
马杰斯特T3踏板摩托车怎么样
95年一级运动员 到2017年考体育单招考大学 年
我打别人电话停机,别人打我电话说我设置呼叫
车头背地址有知道的么?有点事想过去
回坊楼(新民路店)这个地址在什么地方,我要处
蝶豆花有什么功效呢?
如何提高农民从事农业生产的积极性
彼得阿兹 和UFC的菲多还有 胡斯特哪个厉害
焊电瓶桩头是什么材料焊的,是铅还是锡
红龙虾自助万达广场店这个地址在什么地方,我
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?