2011-02-08 103 views
0

我們已經有了一些簡單的sql查詢,將多個表連接到內部連接。 指數已存在,並且優化器沒有建議缺失索引。tsql內部合併連接

查詢在我們的測試環境和其他幾個系統上運行良好。 我們已經將sql應用到另一個系統,並且查詢出現故障。在自己的服務器上的運行時間:幾乎是瞬間的。新服務器上的運行時間爲 :大約40秒。

數據量是可匹配的。

將「合併」提示添加到內部連接可提供從自己的服務器獲知的估計運行時間。

爲什麼這些差異?

我們在ms-sql 2008 r2上。

+1

在不給你合併連接的服務器上它給你什麼類型的連接?實際行數和估計行數之間是否存在很大差異? (您可以在實際的執行計劃中看到這一點)檢查自動創建統計信息和自動更新統計信息是否已打開。 – 2011-02-08 11:16:13

回答

1

也許並行執行設置和環境在「慢」系統上是不同的。

暗示「合併連接」可能你取代了循環連接。

確保最好的方法是獲得在兩個不同系統中生成的查詢計劃,並查看差異。