主頁 > 知識(shí)庫 > mySQL中in查詢與exists查詢的區(qū)別小結(jié)

mySQL中in查詢與exists查詢的區(qū)別小結(jié)

熱門標(biāo)簽:神行者百貨商場(chǎng)地圖標(biāo)注 如何辦理400客服電話 外呼系統(tǒng)怎樣才能不封號(hào) 外呼系統(tǒng)線路經(jīng)常出問題嗎 地圖標(biāo)注專員入駐 地圖標(biāo)注什么軟件好用 安陽手機(jī)自動(dòng)外呼系統(tǒng)原理是什么 西藏地圖標(biāo)注改進(jìn)點(diǎn) 地圖標(biāo)注百度競(jìng)價(jià)

一、關(guān)于exists查詢

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

以上是一個(gè)典型的exists查詢的sql語句。

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

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

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

二、關(guān)于in查詢

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

上面就是一條關(guān)于in查詢的sql語句。

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

select * from doub_vendor where vendor_prov_code = 子查詢結(jié)果1
.......
.......
select * from doub_vendor where vendor_prov_code = 子查詢結(jié)果n

網(wǎng)上有人在爭(zhēng)exists查詢與in查詢的效率問題,這里得說以下,不同的mysql版本,不同的業(yè)務(wù),不同的數(shù)據(jù),執(zhí)行效率是不一定的,這里涉及到了mysql優(yōu)化器對(duì)sql語句的優(yōu)化,子查詢的數(shù)據(jù)量問題等等。

網(wǎng)上還有人說mysql5.6版本對(duì)in查詢做了很好的優(yōu)化,所以效率問題要看具體的場(chǎng)景,要看真實(shí)測(cè)試的數(shù)據(jù)來進(jìn)行優(yōu)化!

總結(jié)

以上就是Mysql中in查詢與exists查詢區(qū)別的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

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

標(biāo)簽:萍鄉(xiāng) 貴港 雞西 張掖 AXB 酒泉 衡水 阜陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mySQL中in查詢與exists查詢的區(qū)別小結(jié)》,本文關(guān)鍵詞  mySQL,中,查詢,與,exists,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mySQL中in查詢與exists查詢的區(qū)別小結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于mySQL中in查詢與exists查詢的區(qū)別小結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章