婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > mySQL中in查詢與exists查詢的區別小結

mySQL中in查詢與exists查詢的區別小結

熱門標簽:神行者百貨商場地圖標注 如何辦理400客服電話 外呼系統怎樣才能不封號 外呼系統線路經常出問題嗎 地圖標注專員入駐 地圖標注什么軟件好用 安陽手機自動外呼系統原理是什么 西藏地圖標注改進點 地圖標注百度競價

一、關于exists查詢

explain select * from vendor where EXISTS(select * from area where area_code = vendor_prov_code ) limit 10

以上是一個典型的exists查詢的sql語句。

它的作用方式是這樣的:每次從vendor表中查詢出一條數據,然后將這條數據中的vendor_prov_code值傳遞到exists查詢中進行執行,也就是進行子查詢的執行。

如果子查詢查到的數據就返回布爾值true,如果沒有就返回布爾值false。返回布爾值true則將該條數據保存下來,否則就舍棄掉。也就是說exists查詢,是查詢出一條數據就執行一次子查詢。

需要注意的是:exists …. 只能返回布爾值true或者false,其他的字段并不會進行返回的。

二、關于in查詢

explain select * from vendor where vendor_prov_code in (select area_code from area ) limit 10

上面就是一條關于in查詢的sql語句。

它的作用方式是這樣的:先執行子查詢,也就是in()所包含的語句。子查詢查詢出數據以后,將前面的查詢分為n次普通查詢(n表示在子查詢中返回的數據行數)。也就是例如以下的執行步驟:

select * from doub_vendor where vendor_prov_code = 子查詢結果1
.......
.......
select * from doub_vendor where vendor_prov_code = 子查詢結果n

網上有人在爭exists查詢與in查詢的效率問題,這里得說以下,不同的mysql版本,不同的業務,不同的數據,執行效率是不一定的,這里涉及到了mysql優化器對sql語句的優化,子查詢的數據量問題等等。

網上還有人說mysql5.6版本對in查詢做了很好的優化,所以效率問題要看具體的場景,要看真實測試的數據來進行優化!

總結

以上就是Mysql中in查詢與exists查詢區別的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

您可能感興趣的文章:
  • mysql中EXISTS和IN的使用方法比較
  • MySQL中exists、in及any的基本用法
  • MySQL中in與exists的使用及區別介紹
  • 對比分析MySQL語句中的IN 和Exists
  • MySQL exists 和in 詳解及區別
  • MYSQL IN 與 EXISTS 的優化示例介紹
  • mysql not in、left join、IS NULL、NOT EXISTS 效率問題記錄
  • MySQL中in和exists區別詳解

標簽:萍鄉 貴港 雞西 張掖 AXB 酒泉 衡水 阜陽

巨人網絡通訊聲明:本文標題《mySQL中in查詢與exists查詢的區別小結》,本文關鍵詞  mySQL,中,查詢,與,exists,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mySQL中in查詢與exists查詢的區別小結》相關的同類信息!
  • 本頁收集關于mySQL中in查詢與exists查詢的區別小結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 建宁县| 玛多县| 麦盖提县| 南部县| 玛多县| 石棉县| 论坛| 三都| 垣曲县| 黑河市| 聂拉木县| 安化县| 额济纳旗| 拉孜县| 徐州市| 宁国市| 天峻县| 平乡县| 怀远县| 泽州县| 阳曲县| 大洼县| 苍南县| 石河子市| 剑川县| 乌鲁木齐市| 和平区| 嘉善县| 边坝县| 沂源县| 社会| 昌乐县| 梅州市| 江口县| 原阳县| 大邑县| 海门市| 宁陵县| 花垣县| 耒阳市| 犍为县|