程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> SQL Server自動更新統計信息的基本算法

SQL Server自動更新統計信息的基本算法

編輯:更多數據庫知識

自動更新統計信息的基本算法是:

· 如果表格是在 tempdb 數據庫表的基數是小於 6,自動更新到表的每個六個修改。
· 如果表的基數是大於 6,但小於或等於 500,更新狀態每 500 的修改。
· 如果基數大於 500,表為更新統計信息時(500 + 20%的表)發生了更改。
· 表變量為基數的更改不會觸發自動更新統計信息。

注意:此嚴格意義上講,SQL Server 計算基數為表中的行數。

注意:除了基數,該謂語的選擇性也會影響 AutoStats 生成。這意味著該統計信息可能無法更新的 afer 每 500 修改基數是 < 500 或更改的每個 20%的基數好像 > 500。比例因子(值的范圍從 1 到 4、 1 和 4 之間)上生成根據選擇性,這一因素的更改從算法獲得數的乘積 AutoStats 生成所需的修改的實際數目。

在表的窗體中,可以summarised 以上算法:
_________________________________________________________________________________
Table Type | Empty Condition | Threshold WhenEmpty |Threshold When Not Empty
_________________________________________________________________________________
Permanent | < 500 rows | # ofChanges >= 500 | # of Changes >=500 + (20% of Cardinality)
___________________________________________________________________________
Temporary | < 6 rows | # ofChanges >= 6 | # of Changes >=500 + (20% of Cardinality)
___________________________________________________________________________
Table
Variables | Change in cardinality does not affectAutoStats generation.
___________________________________________________________________________


作者 SmithLiu328

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved