Re: [SQL ] 哪一種SQL文效率比較高呢??

看板Database (資料庫)作者 (flak)時間18年前 (2006/11/19 14:57), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串5/6 (看更多)
※ 引述《ankasc (初夏。)》之銘言: : : 狀況二: : : 比較兩個表單的差異的query, : : (例如要看表1當中的資料, 有哪些是表2中沒有的) : : 用 LEFT JOIN 還是 巢狀式query 比較好?? : : SELECT TB1.fd1 : : FROM TB1 LEFT JOIN TB2 ON TB1.fd1 = TB2.fd2 : : WHERE TB2.fd2 IS NULL : : 還是 : : SELECT TB1.fd1 : : FROM TB1 : : WHERE TB1.fd1 NOT IN (SELECT TB2.fd2 FROM TB2) : : 謝謝!! : 據我所知,以SQL Server來講,in 的效果是最差的, : 有可能是與set的實作方式有關,記得之前在MSDN上有看過文章。 就MS-SQL而言,IN 的效果並不差,差的是NOT IN LEFT OUTER JOIN的效率也好不到哪裡,如果必須取得「不存在於...」 的資料,請用NOT EXISTS SELECT TB1.fd1 FROM TB1 WHERE NOT EXISTS (SELECT top 1 1 FROM TB2 WHERE TB1.fd1 = TB2.fd2 ) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.166.116

11/20 13:46, , 1F
你的根據是?可以分享一下推論過程嗎?
11/20 13:46, 1F

11/20 17:27, , 2F
因為那是outer join吧
11/20 17:27, 2F
文章代碼(AID): #15O01nOT (Database)
討論串 (同標題文章)
文章代碼(AID): #15O01nOT (Database)