sql server 統計資訊

來源:互聯網
上載者:User

標籤:索引   失效   log   database   查詢   alter   統計資訊   維護   選項   

統計資訊是如何提高SQLServer查詢效能的?統計長條圖用作在查詢執行計畫中查詢最佳化工具的選擇依據。如果一個查詢謂詞包含統計資訊的列,那麼查詢最佳化工具不需要預測該查詢中影響行數,因此,查詢最佳化工具有足夠的資訊去建立執行計畫。SQLServer建立執行計畫有一下幾種不同的方式:

 

  • 統計資訊會在每個新建立的索引中自動建立統計資訊。
  • 如果資料庫中AUTO_CREATE_STATISTICS被設定為ON,SQLServer將會自動對查詢中用到的,且沒有索引的列自動建立統計資訊。

  在非常特殊的情況下,你不得不禁用這個有用的特性,可以使用以下方式關閉:

1、  使用sp_autostats來在表、索引或者統計對象上顯式並更改自動更新統計資訊選項。

2、  在表層級中,可以使用NORECOMPUTEoption of the UPDATE STATISTICS命令。

3、  你也可以在CREATESTATISTICS命令中使用NORECOMPUTE選項,但之後需要刪除並重建統計資訊。

4、  在CREATE INDEX命令中使用STATISTICS_NORECOMPUTE。

5、  在資料庫層級,可以使用以下命令來禁用:

ALTER DATABASE[你的庫名]

SET AUTO_UPDATE_STATISTICS OFF

當使用資料庫層級的禁用時,表、索引或者統計對象的設定將全部失效。

 

 

何時更新統計資料?

         如果你的查詢執行得很慢,那麼是時候更新統計資料了。並且建議當你插入大量資料到升序或者降序的列時,更新統計資料,因為在這種情況下,統計資訊長條圖將不包含新插入的值,同時,強烈建議在除索引維護(當你重建、整理片段或者重組索引時,資料分布不會改變)外的維護工作之後更新統計資料。

         如果資料庫的資料更改頻繁,建議最低限度每天更新一次統計資訊。一般來說,在資料倉儲中,可以降低更新統計資料的頻率,當更新時,通常建議執行sp_updatestats預存程序來實現。

 

 轉自:

http://blog.csdn.net/dba_huangzj/article/details/8041267

 

http://blog.csdn.net/column/details/sqlserverdba.html

sql server 統計資訊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.