亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

SQLServer Execpt和not in 性能區別

2024-08-31 00:57:53
字體:
來源:轉載
供稿:網友
主要講 except 和 not in 的性能上的區別。

復制代碼 代碼如下:


CREATE TABLE tb1(ID int)
CREATE TABLE tb2(ID int)
BEGIN TRAN
DECLARE @i INT = 500
WHILE @i > 0
begin
INSERT INTO dbo.tb1
VALUES ( @i -- v - int
)
SET @i = @i -1
end
COMMIT我測試的時候tb1 是1000,tb2 是500


復制代碼 代碼如下:


DBCC FREESYSTEMCACHE ('ALL','default');
SET STATISTICS IO ON
SET STATISTICS TIME on
SELECT * FROM tb1 EXCEPT SELECT * FROM tb2;
SELECT * FROM tb1 WHERE id NOT IN(SELECT id FROM tb2);--得不到任何值
SET STATISTICS IO OFF
SET STATISTICS TIME OFF


執行計劃:

復制代碼 代碼如下:


SELECT * FROM tb1 EXCEPT SELECT * FROM tb2;
|--Merge Join(Right Anti Semi Join, MERGE:([master1].[dbo].[tb2].[ID])=([master1].[dbo].[tb1].[ID]), RESIDUAL:([master1].[dbo].[tb1].[ID] = [master1].[dbo].[tb2].[ID]))
|--Sort(DISTINCT ORDER BY:([master1].[dbo].[tb2].[ID] ASC))
| |--Table Scan(OBJECT:([master1].[dbo].[tb2]))
|--Sort(DISTINCT ORDER BY:([master1].[dbo].[tb1].[ID] ASC))
|--Table Scan(OBJECT:([master1].[dbo].[tb1]))


復制代碼 代碼如下:


SELECT * FROM tb1 WHERE id NOT IN(SELECT id FROM tb2);--得不到任何值
|--Hash Match(Right Anti Semi Join, HASH:([master1].[dbo].[tb2].[ID])=([master1].[dbo].[tb1].[ID]), RESIDUAL:([master1].[dbo].[tb1].[ID]=[master1].[dbo].[tb2].[ID]))
|--Table Scan(OBJECT:([master1].[dbo].[tb2]))
|--Nested Loops(Left Anti Semi Join)
|--Nested Loops(Left Anti Semi Join, WHERE:([master1].[dbo].[tb1].[ID] IS NULL))
| |--Table Scan(OBJECT:([master1].[dbo].[tb1]))
| |--Top(TOP EXPRESSION:((1)))
| |--Table Scan(OBJECT:([master1].[dbo].[tb2]))
|--Row Count Spool
|--Table Scan(OBJECT:([master1].[dbo].[tb2]), WHERE:([master1].[dbo].[tb2].[ID] IS NULL))


SQL Server 執行時間:
CPU 時間 = 0 毫秒,占用時間 = 0 毫秒。
(500 行受影響)
表 'tb1'。掃描計數 1,邏輯讀取 2 次,物理讀取 0 次,預讀 0 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。
表 'tb2'。掃描計數 1,邏輯讀取 1 次,物理讀取 0 次,預讀 0 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。
(6 行受影響)
(1 行受影響)
SQL Server 執行時間:
CPU 時間 = 0 毫秒,占用時間 = 528 毫秒。
(500 行受影響)
表 'Worktable'。掃描計數 0,邏輯讀取 0 次,物理讀取 0 次,預讀 0 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。
表 'tb2'。掃描計數 3,邏輯讀取 1002 次,物理讀取 0 次,預讀 0 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。
表 'tb1'。掃描計數 1,邏輯讀取 2 次,物理讀取 0 次,預讀 0 次,lob 邏輯讀取 0 次,lob 物理讀取 0 次,lob 預讀 0 次。
(10 行受影響)
(1 行受影響)
SQL Server 執行時間:
CPU 時間 = 16 毫秒,占用時間 = 498 毫秒。
SQL Server 執行時間:
CPU 時間 = 0 毫秒,占用時間 = 0 毫秒。

結論:通過較多數據 和 較少數據的測試,在較少數據的情況下 not in 比 except 性能好,但是在較多數據情況下 execpt 比 not in 出色。
看執行計劃可以得知 如何 在 tb1 和tb2 上建立索引,那么except 的執行計劃開可以得到優化。

如果大家有興趣可以看看 not exists 的執行計劃。建議:
大家不要迷信測試結果,因為所有的性能都是和執行計劃密切相關的。而執行計劃和統計數據又密不可分。
所以過度的迷信測試結果,可能會對生產庫造成性能的影響達不到預期的性能效果。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91色p视频在线| 97国产真实伦对白精彩视频8| 最近2019好看的中文字幕免费| 国产视频精品免费播放| 中文字幕日韩免费视频| 日韩av三级在线观看| 欧美美女操人视频| 欧美精品午夜视频| 亚洲欧美激情另类校园| 国产亚洲日本欧美韩国| 97在线观看免费| 九色91av视频| 欧美激情女人20p| 中文字幕亚洲一区二区三区五十路| 插插插亚洲综合网| 国产精品亚洲片夜色在线| 国产成人免费91av在线| 一区二区在线视频| 国产精品网站入口| 国产精品一区二区久久久| 国产一区二区香蕉| 国产日产欧美精品| 疯狂做受xxxx高潮欧美日本| 欧美激情免费在线| 日韩中文在线中文网在线观看| 日韩在线免费高清视频| 亚洲男人的天堂在线播放| 亚洲精品一区二区网址| 日韩国产欧美区| 国产精品999999| 九九热这里只有精品免费看| 欧美伊久线香蕉线新在线| 国产性猛交xxxx免费看久久| 精品亚洲va在线va天堂资源站| 久久久av一区| 久久精品国产免费观看| 日本欧美中文字幕| 亚洲最大av在线| 国内精品久久久久久| 97在线观看视频国产| 欧洲日本亚洲国产区| 亚洲字幕一区二区| 97久久超碰福利国产精品…| 黑人狂躁日本妞一区二区三区| 国产91热爆ts人妖在线| 欧美激情免费视频| 亚洲第一精品福利| 日韩欧美精品在线观看| 96精品久久久久中文字幕| 蜜臀久久99精品久久久久久宅男| 久久中国妇女中文字幕| 国a精品视频大全| 色www亚洲国产张柏芝| 色综合久综合久久综合久鬼88| 国产成人精品久久亚洲高清不卡| 日韩av片永久免费网站| 国产精品一区二区久久国产| 欧美精品一区在线播放| 日本不卡免费高清视频| 欧美激情亚洲激情| 91久久国产精品91久久性色| 色综合视频一区中文字幕| 中文字幕久久久| 欧美性猛交xxxxx免费看| 国产精品久久国产精品99gif| 亚洲人午夜精品免费| 久久韩国免费视频| 国产午夜精品久久久| 日本中文字幕久久看| 成人av在线网址| 亚洲国产精品va在线看黑人动漫| 亚洲欧美国产一区二区三区| 亚洲欧美日韩国产成人| 91亚洲精品久久久久久久久久久久| 欧美乱大交做爰xxxⅹ性3| 成人免费观看49www在线观看| 亚洲精品v天堂中文字幕| 欧美性视频网站| 日韩福利视频在线观看| 97香蕉久久超级碰碰高清版| 久久久久久久久久久成人| 日韩乱码在线视频| 精品国产一区二区三区久久久狼| 国产精品av免费在线观看| 欧美最近摘花xxxx摘花| 国产亚洲美女精品久久久| 国产精品美女av| 精品久久久香蕉免费精品视频| 精品国产一区二区三区久久| 日韩精品亚洲精品| 成人免费xxxxx在线观看| 欧美激情视频网站| 久久久国产一区二区三区| 亚洲日本欧美日韩高观看| 国产精品88a∨| 人人爽久久涩噜噜噜网站| 亚洲乱码国产乱码精品精天堂| 亚洲国产精品成人va在线观看| 91国内免费在线视频| 中文字幕亚洲一区二区三区| 国产精品专区一| 懂色aⅴ精品一区二区三区蜜月| 色yeye香蕉凹凸一区二区av| 欧美国产中文字幕| 国产成人精品综合久久久| 久久成人精品一区二区三区| 亚洲午夜av电影| 国产不卡av在线免费观看| 国产精品毛片a∨一区二区三区|国| 亚洲视频在线免费看| 成人免费视频在线观看超级碰| 国产啪精品视频| 久久久在线观看| 国产成人综合精品| 欧美亚洲免费电影| 九九热这里只有精品6| 日韩激情av在线播放| 性夜试看影院91社区| 欧美一区二区色| 午夜精品一区二区三区在线视| 亚洲国产精品电影| 亚洲自拍另类欧美丝袜| 国产自产女人91一区在线观看| 亚洲精品国产欧美| 国产+成+人+亚洲欧洲| 高清欧美性猛交xxxx黑人猛交| 国产精品中文久久久久久久| 一本色道久久综合亚洲精品小说| 国产欧美日韩丝袜精品一区| 日韩欧美国产高清91| 最近2019年中文视频免费在线观看| 国产成人精品亚洲精品| 91国内产香蕉| 国产精品免费一区豆花| 国产日产欧美a一级在线| 国产99久久精品一区二区永久免费| 亚洲色图第三页| 日韩精品在线观| 在线观看国产欧美| 国产日韩在线播放| 亚洲免费成人av电影| 97国产在线观看| 中文字幕亚洲一区| 欧美—级高清免费播放| 日韩免费电影在线观看| 亚洲人成在线一二| 欧美激情精品久久久久久| 97久久久免费福利网址| 91精品国产精品| 97福利一区二区| 国产成人精品视频| 国产成人中文字幕| 国产成人欧美在线观看| 欧洲日本亚洲国产区| 亚洲中国色老太| 久久精品91久久久久久再现| 日韩成人av在线播放| 成人乱色短篇合集| 91久久久国产精品| 久久偷看各类女兵18女厕嘘嘘| 国产亚洲欧美视频| 九九热视频这里只有精品| 在线国产精品播放| 国产精品久久久av久久久|