日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server 的 Statistics 簡介

發布時間:2024/4/15 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server 的 Statistics 簡介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當你要清空「資料表(table)」,或倒入大量「資料(data;record)」,或公司「資料庫(database)」改用新版本要資料大搬家…等情形,不只是要重建「索引(index)」,還應要重建或更新「統計(statistics)」。「統計」的正確與否,直接牽動 SQL Server 的「效能(performance)」。沒有「統計」固然不好,「統計」若過時,會讓最佳化程式做出錯誤的決定則更糟。

SQL Server 的查詢最佳化程式,會用索引的「統計」,來獲得它所需要的「資訊(information)」,以決定某個索引是否有用處。

如果某個用在搜尋的「欄位(column)」,我們沒有事先為它建立索引,則 SQL Server 會自動為該欄位建立「統計」。自動建立的「統計」會以 _WA_Sys 開頭來命名,如下圖 1。


圖 1

----------------------------------------------------------------------------------------------------------

手動更新「統計」:

透過 CREATE STATISTICS 指令,可針對未建立索引的欄位,直接產生「統計」資訊,也可透過 sp_createstats 系統「預存程序(stored procedure)」,直接將某個資料庫內的「所有」資料表,全部的欄位都建立「統計」資訊。
http://msdn.microsoft.com/zh-tw/library/ms188038.aspx
http://msdn.microsoft.com/zh-tw/library/ms186834.aspx
(hyperlink 若無法連結,可將 zh-tw 改為 zh-cn 再重試)

執行 UPDATE STATISTICS 指令,可要求某個資料表,或是直接指定索引或「統計」來做更新,而 sp_updatestats 系統預存程序,可針對特定資料表,把所有相關的統計進行更新。
http://msdn.microsoft.com/zh-tw/library/hh510198.aspx
http://msdn.microsoft.com/zh-tw/library/ms187348.aspx
http://msdn.microsoft.com/zh-tw/library/ms173804.aspx

一般來說,我們會依靠「自動更新統計」,但有些特殊情況下,可能會希望立即「手動」更新「統計」,例如 :

* 該資料庫的用途為「資料倉儲(data warehouse)」,平常不會有個別的資料更新,僅有批次更新。在批次更新完資料後,需要立即執行統計的更新。

* 索引中的鍵值,有大量的新增、修改或刪除,而你又確定接下來的運作,會立刻用到索引。

* 透過 TRUNCATE TABLE 清空某個資料表後,重新輸入或倒入資料,也就是資料內容已經完全不同了,但你又需要立即「存取(access)」該資料表。

----------------------------------------------------------------------------------------------------------

自動更新「統計」:

可透過圖形管理介面,在「資料庫屬性」視窗中,切到「選項」頁籤,如下圖 2。


圖 2

-----------------------------------------------------------------------------------------------------------

透過圖形介面的「統計」資料,看是否有 _WA_Sys 開頭來命名的「統計」,也可看出有哪些欄位,曾被應用程式用來搜尋,卻沒有事先建立可用的相關索引。

-----------------------------------------------------------------------------------------------------------

用指令瞭解「統計」資料 DBCC SHOW_STATISTICS(資料表名稱, 索引名稱或欄位名稱)
http://msdn.microsoft.com/zh-tw/library/ms174384.aspx

Density(密度),越低越好,較低的索引密度,表示此索引較具「辨識度」。當密度越接近 1,代表此索引越不具辨識度,查詢最佳化工具也就越不願意使用此索引。也代表此索引的存在,對查詢沒幫助,只會影響寫入資料的效能。

有關介紹「統計」的書籍,一些有介紹「資料庫效能」的書籍,多半都會提到。但以章立民先生,在 2008 年寫的下列這本書「SQL Server 2005 效能調校經典」(繁體中文),內容最完整和詳細,對於上圖 2 裡的「自動 非同步(asynchronous)更新統計資料」,此書也有詳細的解釋。但此書因年代久遠,在臺灣已絕版 :
http://www.tenlong.com.tw/items/986181339X?item_id=37625
SQL Server 2005 效能調校經典 (Microsoft SQL Server 2005 Unleashed)
ISBN: 986181339X
ISBN-13: 9789861813394

-----------------------------------------------------------------------------------------------------------

?

轉載于:https://www.cnblogs.com/WizardWu/p/4052951.html

總結

以上是生活随笔為你收集整理的SQL Server 的 Statistics 簡介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。