SQL Server主動更新統計信息的根本算法。本站提示廣大學習愛好者:(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