佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > sql語句優(yōu)化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的語句

sql語句優(yōu)化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的語句

熱門標(biāo)簽:呼叫中心市場需求 地方門戶網(wǎng)站 服務(wù)外包 Linux服務(wù)器 網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng) AI電銷 百度競價排名
在許多基于基礎(chǔ)表的查詢中,為了滿足一個條件,往往需要對另一個表進(jìn)行聯(lián)接。在這種情況下, 使用EXISTS(或NOT EXISTS)通常將提高查詢的效率。在子查詢中,NOT IN子句將執(zhí)行一個內(nèi)部的排序和合并。無論在哪種情況下,NOT IN都是最低效的 (因為它對子查詢中的表執(zhí)行了一個全表遍歷)。為了避免使用NOT IN ,我們可以把它改寫成外連接(Outer Joins)或NOT EXISTS。



我要查詢 Sendorder表中的冗余數(shù)據(jù)(沒有和reg_person或worksite相連的數(shù)據(jù))

sql="select Sendorder.id,Sendorder.reads,Sendorder.addtime from Sendorder where Sendorder.person_id not in(select user_id from reg_person ) or Sendorder.worksite_id not in(select id from worksite) order by Sendorder.addtime desc"
程序執(zhí)行時間:40109.38毫秒

sql="select Sendorder.id,Sendorder.reads,Sendorder.addtime from Sendorder where not EXISTS (SELECT id FROM reg_person where reg_person.user_id=Sendorder.person_id) or not EXISTS (SELECT id FROM worksite where worksite.id=Sendorder.worksite_id) order by Sendorder.addtime desc"
程序執(zhí)行時間:8531.25毫秒

很明顯使用not EXISTS效率高多了 
您可能感興趣的文章:
  • 淺談MySQL中優(yōu)化sql語句查詢常用的30種方法
  • SQLServer 優(yōu)化SQL語句 in 和not in的替代方案
  • SQL SERVER 的SQL語句優(yōu)化方式小結(jié)
  • MySQL SQL語句優(yōu)化的10條建議
  • Mysql查詢最近一條記錄的sql語句(優(yōu)化篇)
  • SQL Server中的SQL語句優(yōu)化與效率問題
  • 常用SQL語句優(yōu)化技巧總結(jié)【經(jīng)典】
  • SQL語句優(yōu)化方法30例(推薦)
  • 如何優(yōu)化SQL語句的心得淺談
  • 你真的知道怎么優(yōu)化SQL嗎

標(biāo)簽:黃山 銅川 衡水 湖南 湘潭 仙桃 崇左 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sql語句優(yōu)化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的語句》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    涟水县| 开远市| 黄浦区| 启东市| 萨嘎县| 斗六市| 蒲城县| 五指山市| 孙吴县| 盐边县| 青铜峡市| 福州市| 富源县| 砀山县| 鄢陵县| 鄯善县| 布拖县| 金秀| 灵台县| 景德镇市| 井陉县| 大荔县| 康定县| 德格县| 灵山县| 获嘉县| 永吉县| 同仁县| 湄潭县| 龙游县| 治多县| 洛阳市| 肃北| 闽清县| 稻城县| 阳曲县| 柳州市| 南郑县| 乌拉特中旗| 江门市| 巨野县|