共計 584 個字符,預計需要花費 2 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
本篇文章給大家分享的是有關 Oracle 中 in 和 exists 的區別是什么,丸趣 TV 小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。
一、第一種情況
select * from A where mm in (select mm from B)
效率高,這里用到的是大表 A 上的索引
select * from B exists (select mm from A where mm=B.mm)
效率高,這里用到的是小表 B 上的索引
二、第二種情況
select * from B where mm in (select mm from A)
效率低,這里用到的是小表 B 上的索引
select * from A exists (select mm from B where mm=A.mm)
效率高,這里用到的是大表 A 上的索引
三、第三種情況
not exists 在使用時依然會用到表上的索引,但是 not in 會進行全盤掃描
因此,not exists 始終比 not in 的效率高
四、第四種情況
in 與 == 效果是相同的
以上就是 Oracle 中 in 和 exists 的區別是什么,丸趣 TV 小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注丸趣 TV 行業資訊頻道。
向 AI 問一下細節
正文完