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

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者delicate (泡沫愛情)時間18年前 (2006/11/13 21:55), 編輯資訊
3
0
0
內容預覽:
資料庫名稱: Oracle... 其是普通SQL的問題, 沒有差. 資料庫版本: 9i. 內容/問題描述:. 因為自己寫的SQL文和別人寫的不一樣,. 很好奇想問一下,. 這樣子語法的不同, 在query時的效率會有差別嗎??. 狀況一:. 連結兩個表單, 用 INNER JOIN 還是 直接用WH
(還有549個字)

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

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

推噓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 ).

推噓1(1推 0噓 1→)留言2則,0人參與, 最新作者flakchen (flak)時間18年前 (2006/11/19 14:57), 編輯資訊
1
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
2
下一頁
尾頁