摘要:[SQL]查詢上千萬筆資料
上千萬筆的資料加上一堆join, where , group by ....
通常沒特別設定的話,通常是查不出來的...
如果你的C槽剩下的空間只有10G,可能一下子就被查詢時產生的tempdb吃光光了
請執行以下步驟:
1.將SQL貼上SQLServer Management Studio之後,右鍵=>顯示估計執行計畫,通常其中幾個table會有叢集索引掃描的成本過高的情況
2.如果執行計畫有顯示綠色文字建議加入非叢集index的話,就去加,記得
index中的欄位的先後順序有差喔!
3.然後移動tempdb的位置,首先先找出tempdb在檔案系統中的路徑
USE tempdb
GO
SP_HELPFILE;
4.然後把tempdb移動到最好是另外一個磁碟空間比較大的槽,不要放在C槽
USE MASTER
GO
ALTER DATABASE tempdb MODIFY FILE (name = tempdev, FILENAME = 'F:\MSSQL_TEMPDB_DATA\tempdb.mdf')
GO
ALTER DATABASE tempdb MODIFY FILE (name = templog, FILENAME = 'F:\MSSQL_TEMPDB_DATA\templog.ldf')
GO
5.然後在SQLServer Managerment Studio的物件總管裡面,對著根目錄的SQLServer個體按下右鍵,
然後選擇重新啟動
6.然後再次執行步驟1的SQL, 確認移動成功了, 就可以把原本的tempdb.mdf, tempdb.ldf刪除了
7.然後就可以執行查詢囉
以上參考資料