前言
本節(jié)我們來(lái)分析LEFT JOIN和NOT EXISTS,簡(jiǎn)短的內(nèi)容,深入的理解,Always to review the basics。
LEFT JOIN...IS NULL和NOT EXISTS分析
之前我們已經(jīng)分析過(guò)IN查詢?cè)谔幚砜罩禃r(shí)是基于三值邏輯,只要子查詢中存在空值此時(shí)則沒(méi)有任何數(shù)據(jù)返回,而LEFT JOIN和NOT EXISTS無(wú)論子查詢中有無(wú)空值上處理都是一樣的,當(dāng)然比較重要的是利用LEFT JOIN...IS NULL來(lái)檢查NULL?;诙叻祷氐慕Y(jié)果集是一樣的,下面我們開始直接用前面節(jié)所創(chuàng)建表來(lái)進(jìn)行測(cè)試。在BigTable和SmallerTable上首先未創(chuàng)建索引
USE TSQL2012 GO DBCC FREEPROCCACHE DBCC DROPCLEANBUFFERS SET STATISTICS IO ON SET STATISTICS TIME ON SELECT BigTable.ID, SomeColumn FROM BigTable LEFT OUTER JOIN SmallerTable ON BigTable.SomeColumn = SmallerTable.LookupColumn WHERE LookupColumn IS NULL SELECT ID, SomeColumn FROM BigTable WHERE NOT EXISTS (SELECT LookupColumn FROM SmallerTable WHERE SmallerTable.LookupColumn = BigTable.SomeColumn)
二者執(zhí)行CPU Time和elapsed Time如下
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26