我有一個包含大量數據的表,我需要將它與其他一些大表連接起來。SQL - 使用連接過濾大表 - 最佳實踐
我的桌子的一小部分實際上每次都與我相關。
何時最好過濾我的數據?
在SQL的where子句中。
用特定數據創建一個臨時表,然後加入它。
將謂詞添加到第一個內部聯接ON子句。
一些其他的想法。
1.
Select *
From RealyBigTable
Inner Join AnotherBigTable On …
Inner Join YetAnotherBigTable On …
Where RealyBigTable.Type = ?
2.
Select *
Into #temp
From RealyBigTable
Where RealyBigTable.Type = ?
Select *
From #temp
Inner Join AnotherBigTable On …
Inner Join YetAnotherBigTable On …
3.
Select *
From RealyBigTable
Inner Join AnotherBigTable On RealyBigTable.type = ? And …
Inner Join YetAnotherBigTable On …
另一個問題: 首先會發生什麼? Join
或Where
?
確定。但是將數據放在臨時表中並且只有(內部)連接不同的表才更好? – 2011-03-31 08:34:42
@gil - 請參閱編輯答案 – RichardTheKiwi 2011-03-31 08:41:23