我有一個選擇查詢與100 +列從15個表和超過100000行。這個查詢的執行時間大約是15分鐘。 現在,當我將列數減少到50並且註釋掉相應的表時。 按我的理解,新的查詢時間應少於15周的MNT但現在的執行時間增加到4個小時:(。SQL查詢需要更多的時間,當列減少
請建議。
我有一個選擇查詢與100 +列從15個表和超過100000行。這個查詢的執行時間大約是15分鐘。 現在,當我將列數減少到50並且註釋掉相應的表時。 按我的理解,新的查詢時間應少於15周的MNT但現在的執行時間增加到4個小時:(。SQL查詢需要更多的時間,當列減少
請建議。
沒有更詳細的信息,我建議重建所涉及的所有表的索引在查詢(和更新任何剩餘列統計):
DBCC DBREINDEX('MyTable')
go
UPDATE STATISTICS MyTable WITH FULLSCAN, COLUMNS
go
[常見的警告/關於在生產服務器上運行的告誡:]
我建議你幾個優化:
較少的列應該不重要(很多),但查詢的結構和相應的索引如何。你可以發佈帶有幾列的查詢,以及查詢的所有JOIN標準/ WHERE條件。這將爲您提供最佳的解決方案。 – DRapp
如果您想要答案,請在您的問題中添加更多信息。 –