當前位置:
首頁 >
mysql什么时候用in,什么时候用exists
發布時間:2025/3/19
27
豆豆
生活随笔
收集整理的這篇文章主要介紹了
mysql什么时候用in,什么时候用exists
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
寫在前面
給你答案
in
exists
結論
寫在前面
網上看帖子的時候,經常會看到說盡量用exists,少用in。
那么問題來了,是所有場景下都盡量用exists嗎,還是具體場景具體分析。
給你答案
mysql做子查詢的時候,永遠記得要小表驅動大表。
in
select * from A where id in (select id from B);
相當于先循環B,再循環A。B表驅動A表。
也就是當B表數據少于A表時,用in最佳。
exists
select * from A where?exists?(select 1 from B where B.id=A.id);
相當于先循環A,再循環B。A表驅動B表。
也就是當A表數據少于B表時,用exists最佳。
結論
其實in和exists都有其存在的必要性,雖然有時候用起來含義一樣,但是其效率是不一樣的,也不存在哪一個最好哪一個最差。
根據實際情況來判斷使用哪種方式
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的mysql什么时候用in,什么时候用exists的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学会用各种方式备份MySQL数据库
- 下一篇: mysql的show profile使用