[SQL]查詢上千萬筆資料

  • 2049
  • 0

摘要:[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.然後就可以執行查詢囉

 

以上參考資料

如何移動TEMPDB in 阿肥的DB學習之路

移動 tempdb 資料庫檔案 in Hunterpo's IT Vision