討論串[SQL ] 哪一種SQL文效率比較高呢??
共 6 篇文章
首頁
上一頁
1
2
下一頁
尾頁

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者flakchen (flak)時間18年前 (2006/11/20 18:51), 編輯資訊
0
0
1
內容預覽:
請參考http://www.sql-server-performance.com/transact_sql.asp. If you currently have a query that uses NOT IN, which offers poor. performance because the
(還有753個字)

推噓1(1推 0噓 1→)留言2則,0人參與, 最新作者flakchen (flak)時間18年前 (2006/11/19 14:57), 編輯資訊
0
0
0
內容預覽:
就MS-SQL而言,IN 的效果並不差,差的是NOT IN. LEFT OUTER JOIN的效率也好不到哪裡,如果必須取得「不存在於...」. 的資料,請用NOT EXISTS. SELECT TB1.fd1. FROM TB1. WHERE NOT EXISTS (SELECT top 1 1

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者grence (一鼓作氣)時間18年前 (2006/11/15 15:32), 編輯資訊
0
0
0
內容預覽:
不知道上面兩種做法哪個好,. 但是用 exists 取代 in 效率比較好(好像跟資料庫用不用索引有關). SELECT TB1.fd1. FROM TB1. WHERE exists ( SELECT 1 FROM TB2.fd2 FROM TB2 WHERE TB2.fd2=TB1.fd1 ).

推噓2(2推 0噓 0→)留言2則,0人參與, 最新作者ankasc (初夏。)時間18年前 (2006/11/14 19:11), 編輯資訊
0
0
0
內容預覽:
大多數的DBMS有做過最佳化了,. 所以這兩個的差別應該不大。. 據我所知,以SQL Server來講,in 的效果是最差的,. 有可能是與set的實作方式有關,記得之前在MSDN上有看過文章。. --. 發信站: 批踢踢實業坊(ptt.cc). ◆ From: 58.86.128.60.

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者webberhan (練習多"多益"善)時間18年前 (2006/11/14 01:54), 編輯資訊
0
0
0
內容預覽:
邊連結邊過濾. 先做outter join 再過濾. 雖然結果出來是等價的. 但是第一個效率會比較好. 不過效率也有可能會一樣, 因為有些DBMA會幫你做最佳化. SQL最佳化的基本原則是:能過濾掉愈多資料的要愈先做. 通常的順序是 selection >> project. 等你需要對幾億筆資料下
(還有22個字)
首頁
上一頁
1
2
下一頁
尾頁