记录Oracle使用group by的遇到的坑

背景:

查询执行的特别慢 , 这个问题随着数据的增加越来越严重 , 直到数据量到100w , 我们发现真的没办法用了 , 就开始找原因

select a.ZZZ from table1 a,table2 b where a.key=b.key 
and a.XXX='12' and b.XXX='10' and a.RRR not in
 (select RRR from table4 where key='04' group by RRR)

犯了俩错误:
1.应该用NOT EXISTS代替not in,not in效率很低还会导致索引失效。
2.这里在not in条件中使用了 group by RRR,这样效率极低,本次数据量到百万,查询了近百秒。。。。

你可能感兴趣的:(数据库,Oracle,后端,oracle,数据库,database)