[英]SQL SERVER - Execution plan
我在兩個數據庫中都有一個VIEW。 在一個數據庫中,運行時間不到1秒,但在另一個數據庫中運行1分鍾或更長時間。 我檢查索引,一切都是一樣的。 行數之間的差異低於每個其他數據庫的1000萬行。
我檢查de exectuion計划,我發現的是,需要更多時間的數據庫,我有3個哈希匹配(1個聚合和2個右外連接),在查詢批處理中可以100%響應。 在另一個數據庫中,我在執行計划中沒有這個。
誰能告訴我在哪里可以開始搜索問題?
謝謝,抱歉英文不好。
基本上,根據您提供給我們的信息,以下是可能出錯的一些替代方案:
編輯:
關於下面的評論,重建索引與刪除和重新創建索引類似。 由於創建索引還會為這些索引創建統計信息,因此重建也會處理這些索引。 但有時這還不夠。
雖然官方默認統計數據應該以實際數據的約20%采樣率構建,但實際上采樣率可以低至幾個百分點,具體取決於表格的大小。 它很少接近20%。 因此,許多DBA使用FULLSCAN手動構建統計數據以獲得100%的采樣率。
統計數據在任何一種方式都需要相同的存儲空間,因此除了維護計划所需的額外時間之外,實際上沒有任何缺點。 在我目前的項目中,我們有幾種情況,統計數據的默認采樣率不夠,並且仍會產生錯誤的計划。 所以我們每隔幾周就會定期用FULLSCAN更新所有統計數據,以確保性能保持一流。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.