Performance

性能建議停留在“驗證”上

  • March 26, 2020

我的任務是將“地獄數據庫”遷移到 Azure SQL。它有一些複雜且長時間執行的查詢(S6 層 20 秒,S4 層 >600 秒),我想優化性能,以便我們可以降到較低的層,而無需對數據庫進行任何結構更改。

我自己沒有明確創建任何索引。由於我不是數據庫管理員,因此我並沒有正確執行此操作的技能。

我希望 Azure 性能建議能夠通過創建有益的索引並避免任何會損害性能的索引來提供幫助。但到目前為止,結果非常令人失望。它創建了一個指數,僅將 DTU 提高了 0.13%。它拒絕了另一個索引,目前正在驗證另外兩個,儘管看起來它會拒絕兩個(整體 DTU 回歸)。

但它現在已經卡在驗證上將近 24 小時,儘管數據庫一直在服務於正常的工作負載。(有四個不同的問題查詢,每十分鐘呼叫一次。)

這是正常的嗎?能否強制 Azure 更快地生成和驗證性能建議?

我在文件中發現有時 Azure 需要 72 小時來驗證性能建議。事實上,在 72 小時後,它完成了評估並恢復了建議。

(事實證明,辨識真正會產生重大影響的索引非常容易,我不需要 Azure 性能建議。我將一個長時間執行的查詢複製到 SSMS 中,選擇一組有代表性的輸入,然後執行Query > Display Estimated Execution Plan. 結果顯示查詢中的一個步驟佔用了 99.9% 的時間,甚至建議添加索引。結果是查詢時間從 20 秒下降到 0.1 秒。我意識到這會對數據庫管理員來說不是新聞,但我希望它會對某人有所幫助。)

引用自:https://dba.stackexchange.com/questions/227843