成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > SQL Server統(tǒng)計信息更新時采樣百分比對數(shù)據(jù)預估準確性的影響詳解

SQL Server統(tǒng)計信息更新時采樣百分比對數(shù)據(jù)預估準確性的影響詳解

熱門標簽:優(yōu)質(zhì)地圖標注 怎樣在地圖上標注路線圖標 武漢長沙外呼系統(tǒng)方法和技巧 外呼系統(tǒng)電銷專用 智能語音外呼系統(tǒng)選哪家 奧威地圖標注多個地方 千呼電銷機器人價格 百度地圖標注不同路線 京華物流公司地圖標注

為什么要寫統(tǒng)計信息

最近看到園子里有人寫統(tǒng)計信息,樓主也來湊熱鬧。

話說經(jīng)常做數(shù)據(jù)庫的,尤其是做開發(fā)的或者優(yōu)化的,統(tǒng)計信息造成的性能問題應該說是司空見慣。

當然解決辦法也并非一成不變,“一招鮮吃遍天”的做法已經(jīng)行不通了(題外話:整個時代不都是這樣子嗎)

當然,還是那句話,既然寫了就不能太俗套,寫點不一樣的,本文通過分析一個類似實際案例來解讀統(tǒng)計信息的更新的相關問題。

對于實際問題,不但要解決問題,更重要的是要從理論上深入分析,才能更好地駕馭數(shù)據(jù)庫。

何時更新統(tǒng)計信息

(1)查詢執(zhí)行緩慢,或者查詢語句突然執(zhí)行緩慢。這種場景很可能是由于統(tǒng)計信息沒有及時更新而遭遇了參數(shù)嗅探的問題。

(2)當大量數(shù)據(jù)更新(INSERT/DELETE/UPDATE)到升序或者降序的列時,這種情況下,統(tǒng)計信息直方圖可能沒有及時更新。

(3)建議在除索引維護(當你重建、整理碎片或者重組索引時,數(shù)據(jù)分布不會改變)外的維護工作之后更新統(tǒng)計信息。

(4)數(shù)據(jù)庫的數(shù)據(jù)更改頻繁,建議最低限度每天更新一次統(tǒng)計信息。數(shù)據(jù)倉庫可以適當降低更新統(tǒng)計信息的頻率。

(5)當執(zhí)行計劃出現(xiàn)統(tǒng)計信息缺失警告時,需要手動建立統(tǒng)計信息

統(tǒng)計信息基礎

首先說一個老掉牙的話題,統(tǒng)計信息的更新閾值:

1,表格從沒有數(shù)據(jù)變成有大于等于1條數(shù)據(jù)。

2,對于數(shù)據(jù)量小于500行的表格,當統(tǒng)計信息的第一個字段數(shù)據(jù)累計變化量大于500以后。

3,對于數(shù)據(jù)量大于500行的表格,當統(tǒng)計信息的第一個字段數(shù)據(jù)累計變化量大于500 + (20%×表格數(shù)據(jù)總量)以后。

做個查詢,觸發(fā)統(tǒng)計信息更新,rowmodct歸0(繼續(xù)累積直到下一個觸發(fā)的閾值,觸發(fā)更新之后再次歸0)

關于統(tǒng)計信息“過期”的問題

下面開始正文,網(wǎng)絡上很多關于統(tǒng)計信息的文章,提到統(tǒng)計信息,很多都是統(tǒng)計信息過期的問題,然后跟新之后怎么怎么樣

尤其在觸發(fā)統(tǒng)計信息自動更新閾值的第三個區(qū)間:也就是說數(shù)據(jù)累計變化超過20%之后才能自動觸發(fā)統(tǒng)計信息的更新

這一點對于大表來說通常影響是比較大的,比如1000W的表,變化超過20%也+500也就是200W+500行之后才觸發(fā)統(tǒng)計信息更新,這個閾值區(qū)間的自動觸發(fā)閾值,絕大多數(shù)情況是不能接受的,于是對于統(tǒng)計信息的診斷就變成了是否“過期”

判斷統(tǒng)計信息是否過期,然后通過更新統(tǒng)計信息來促使執(zhí)行計劃更加準確地預估行數(shù),這一點本無可厚非

但是,問題也就出在這里了:那么怎么更新統(tǒng)計信息?一成不變的做法是否可行,這才是問題的重點。

當然肯定有人說,我就是按照默認方式更新的,更新完之后SQL也變得更加優(yōu)化了什么的

通過update statistics TableName StatisticName更新某一個索引的統(tǒng)計信息,

或者update statistics TableName更新全表的統(tǒng)計信息

這種情況下往往是小表上可以這么做,當然對于大表或者小表沒有一個標準值,一切要結合事實來說明問題

下面開始本文的主題:

抽象并簡化出業(yè)務中的一個實際案例,創(chuàng)建這么一張表,類似于訂單和訂單明細表(主子表),

這里你可以想象成是一個訂單表的子表,Id字段是唯一的,有一個ParentID字段,是非唯一的,

ParentID類似于主表的Id,測試數(shù)據(jù)按照一個主表Id對應50條子表明細的規(guī)律插入數(shù)據(jù)

CREATE TABLE [dbo].[TestStaitisticsSample](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [ParentId] [int] NULL,
 [OtherColumn] [varchar](50) NULL
) 


declare @i int=0
while(@i100000000)
begin

 insert into [TestStaitisticsSample](ParentId,OtherColumn)values(@i,NEWID())
 /*
 中間插入50條,也即一個主表Id對應50條子表明細
 */
 insert into [TestStaitisticsSample](ParentId,OtherColumn)values(@i,NEWID())

 set @i=@i+1
end
go

create nonclustered index [idx_ParentId] ON [dbo].[TestStaitisticsSample]
(
 [ParentId] 
)
go

本來打算插入1億條的,中間我讓他執(zhí)行我睡午覺去了,醒來之后發(fā)現(xiàn)SSMS掛掉了,掛掉了算了,數(shù)據(jù)也接近1億了,能說明問題就夠了

現(xiàn)在數(shù)據(jù)分布的非常明確,就是一個ParentId有50條數(shù)據(jù),這一點首先要澄清。

測試數(shù)據(jù)寫入,以及所創(chuàng)建完成之后來更新idx_ParentId 索引上的統(tǒng)計信息,就按照默認的方式來更新,然后來觀察統(tǒng)計信息

默認方式更新統(tǒng)計信息(未指定采樣密度)

表里現(xiàn)在是8000W多一點記錄,默認更新統(tǒng)計信息時取樣行數(shù)是462239行,那么這個統(tǒng)計信息靠譜嗎?

上面說了,造數(shù)據(jù)的時候,我一個ParentId對應的是50行記錄,這一點非常明確,他這里統(tǒng)計出來的多少?

1,對于取樣的RANG_HI_Key值,比如51632,預估了862.212行

2,對于AVG_RANG_ROW,比如45189到51632之間的每個Id的數(shù)據(jù)對應的數(shù)據(jù)行,預估是6682.490行

之前造數(shù)據(jù)的時候每個Id都是50行,這里的預估靠譜嗎,這個誤差是無法接受的,

很多時候,對于大表,采用默認(未指定采樣密度)的情況下,默認的采樣密度并不足以準確地描述數(shù)據(jù)分布情況

指定一個采樣密度的方式更新統(tǒng)計信息(20%采樣)

這一次用20%的采樣密度,可以看到取樣的行數(shù)是15898626行

1,對于取樣的RANG_HI_Key值,比如216305,他給我預估了24.9295行

2,對于AVG_RANG_ROW,比如186302到216305之間的每個Id的行數(shù),預估是197.4439行

觀察比如上面默認的取樣密度,這一次不管是RANG_HI_Key還是AVG_RANG_ROW得預估,都有不一個非常高的下降,開始趨于接近于真實的數(shù)據(jù)分布(每個Id有50行數(shù)據(jù))

整體上看,但是這個誤差還是比較大的,如果繼續(xù)提高采樣密度,看看有什么變化?

指定一個采樣密度的方式更新統(tǒng)計信息(70%采樣) 

這一次用70%的采樣密度,可以看到取樣行數(shù)是55962290行

1,對于取樣的RANG_HI_Key值,比如1978668,預估了71.15906行

2,對于AVG_RANG_ROW,比如1124024到1978668之間的每個Id,預估為61.89334行

可以說,對于絕大多數(shù)值得預估(AVG_RANG_ROW),都愈發(fā)接近于真實值

  

指定一個采樣密度的方式更新統(tǒng)計信息(100%采樣)

可以看到,取樣行數(shù)等于總行數(shù),也就是所謂的全部(100%)取樣

看一下預估結果:

比如Id=3981622,預估是50行,3981622與4131988之間的Id的行數(shù),預估為49.99874行,基本上等于真實數(shù)據(jù)分布

這個就不做過多解釋了,基本上跟真實值是一樣的,只是AVG_RANG_ROW有一點非常非常小的誤差。

取樣密度高低與統(tǒng)計信息準確性的關系

至于為什么默認取樣密度和較低取樣密度情況下,誤差很大的情況我簡單解釋一下,也非常容易理解,因為“子表”中存儲主表ID的ParentId值允許重復,在存在重復值的情況下,如果采樣密度不夠,極有可能造成“以偏概全”的情況

比如對10W行數(shù)據(jù)取樣1W行,原本10W行數(shù)劇中有2000個不重復的ParentId值,如果是10%的取樣,在1W行取樣數(shù)據(jù)中,因為密度不夠大,只找到了20個不重復的ParentId值,那么就會認為每一行ParentId對應500行數(shù)據(jù),這根實際的分布的每個ParentId有一個非常大的誤差范圍

如果提高采樣密度,那么這個誤差就會越來越小?! ?/p>

更新統(tǒng)計信息的時候,高比例的取樣是否可?。尚校?/p>

因此在觀察統(tǒng)計信息是否過期,決定更新統(tǒng)計信息的時候,一定要注意取樣的密度,就是說表中有多少行數(shù)據(jù),統(tǒng)計信息更新的時候取了多少采樣行,密度有多高。

當然,肯定有人質(zhì)疑,那你說采樣密度越高,也就是取樣行數(shù)越高越準確,那么我就100%取樣。

這樣行不行?

還要分情況看,對于幾百萬或者十幾萬的小表來說,當然沒有問題,這也是為什么數(shù)據(jù)庫越小,表數(shù)據(jù)越少越容易掩蓋問題的原因。

對于大表,上億的,甚至是十幾億的,你按照100%采樣試一試? 

舉個實際例子:

我這里對一個稍微大一點的表做個全表統(tǒng)計信息的更新,測試環(huán)境,服務器沒負載,存儲是比普通的機械硬盤要強很多的SAN存儲

采用full scan,也就是100%采樣的更新操作,看一下,僅僅這一樣表的update statistic操作就花費了51分鐘

試想一下,對一個數(shù)百GB甚至數(shù)TB的庫來說,你敢這么搞一下。

  

扯一句,這個中秋節(jié)過的,折騰了大半天,話說做測試過程中電腦有開始有點卡,

做完測試之后停掉SQLServer服務,瞬間內(nèi)存釋放了7個G,可見這些個操作還是比較耗內(nèi)存的

   

總結:

本文通過對于某些場景下,在對較大的表的索引統(tǒng)計信息更新時,采樣密度的分析,闡述了不同采樣密度下,對統(tǒng)計信息預估的準確性的影響。

當然對于小表,一些都好說。

隨著單表數(shù)據(jù)量的增加,統(tǒng)計信息的更新策略也要做相應的調(diào)整,

不光要看統(tǒng)計信息是否“過期”,更重要的是注意統(tǒng)計信息更新時究竟取樣了全表的多少行數(shù)據(jù)做統(tǒng)計。

對于大表,采用FULL SCAN或者100%采樣往往是不可行的,這時候就需要做出權衡,做到既能準確地預估,又能夠以合理的代價執(zhí)行。

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持

您可能感興趣的文章:
  • SQLSERVER收集語句運行的統(tǒng)計信息并進行分析
  • SQL Server自動更新統(tǒng)計信息的基本算法
  • sqlserver 統(tǒng)計sql語句大全收藏
  • SQLSERVER語句的執(zhí)行時間顯示的統(tǒng)計結果是什么意思
  • 淺談SQL Server中統(tǒng)計對于查詢的影響分析
  • SQLServer2005 中的幾個統(tǒng)計技巧

標簽:威海 宿州 七臺河 防疫戰(zhàn)設 益陽 來賓 銅仁 天水

巨人網(wǎng)絡通訊聲明:本文標題《SQL Server統(tǒng)計信息更新時采樣百分比對數(shù)據(jù)預估準確性的影響詳解》,本文關鍵詞  SQL,Server,統(tǒng)計,信息,更新,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL Server統(tǒng)計信息更新時采樣百分比對數(shù)據(jù)預估準確性的影響詳解》相關的同類信息!
  • 本頁收集關于SQL Server統(tǒng)計信息更新時采樣百分比對數(shù)據(jù)預估準確性的影響詳解的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    成人性生交免费看| 日韩av综合在线观看| 国产一区二区三区美女| 欧美一二三四在线| 色视频精品视频在线观看| 乳色吐息在线观看| 电影在线高清| 国产一区二区三区在线| 99久久精品国产麻豆演员表| 中文字幕亚洲情99在线| 国产va免费精品高清在线| 久久亚洲春色中文字幕久久久| 2018日日夜夜| 瑟瑟视频在线看| 欧美性猛交xxxx乱大交hd| 欧美理论电影在线播放| 日韩精品无码一区二区三区免费| 亚洲男人的天堂av| 欧美日韩一区二区免费视频| 国产男男gay网站| 精品一区二区免费在线观看| 亚洲欧美一区在线| 国产一区二区三区在线观看网站| 国产精品一区电影| 亚洲欧美另类色图| 91精品国产色综合| 成人高清在线| 日本成人一区二区| 激情五月六月婷婷| 成人av电影在线网| 天天操天天爱天天爽| 尤物视频在线观看视频| 中文字幕资源网在线观看| 国产视频精品xxxx| 高清毛片aaaaaaaaa片| 91亚洲精华国产精华精华液| 色婷婷综合缴情免费观看| 精品入口麻豆传煤| 完全免费av在线播放| 精品美女一区二区三区| 亚洲小说区图片| 久青草免费视频| 中文字幕日韩精品一区二区| 小说区图片区图片区另类灬| 精品视频免费观看| 亚洲福利一区| xxx免费观看| 久久久久中文| 日韩视频一区在线| 亚洲欧美小说国产图片| 日韩一中文字幕| 国产精品视频在线免费观看| 91精品久久久久久久久99蜜臂| 最新日韩av| 亚洲永久字幕| 一区二区三区激情| 日韩av电影免费观看高清完整版| 男人的天堂在线视频| 国产午夜精品久久久久免费视| 免费无码国产v片在线观看| 欧美日韩国产成人在线| 久久人体大尺度| 91香蕉电影院| 久久久国产成人| 免费在线看一区| 羞羞答答成人影院www| 国产精品主播| 在线国产中文字幕| 高清在线观看免费韩剧| 精品国内产的精品视频在线观看| 日本新janpanese乱熟| 全国精品免费看| 日本视频不卡| 国产日韩欧美高清在线| 9i看片成人免费高清| 国产盗摄精品一区二区三区在线| 欧美一区二区三区网站| 91影院未满十八岁禁止入内| 亚洲精品久久久久久久久久久久久久| 亚洲欧美日韩直播| 欧美日韩在线精品一区二区三区| 污污视频在线免费观看| 欧美性猛交7777777| 亚洲国产精品一区二区第一页| 羞羞在线观看网站| 91国在线产| 国产麻豆天美果冻无码视频| 亚洲一区二区免费在线观看| 四季av在线一区二区三区| 欧美aaaaaa午夜精品| 亚洲乱码中文字幕| 1204国产成人精品视频| 亚洲美洲欧洲综合国产一区| 国产又爽又黄又刺激的软件| 国产精品三p一区二区| 91freevideo| 无码国精品一区二区免费蜜桃| 国产精品国内免费一区二区三区| 欧美国产三级| 久草视频在线免费看| 国产欧洲精品视频| 亚洲视频电影图片偷拍一区| 一区二区三区免费看| 亚洲欧美日韩视频二区| 欧美视频13p| 久久久精品99| 国产91av视频在线观看| 国产区在线观看成人精品| 在线一级视频| 免费高潮视频95在线观看网站| 国产日产精品一区二区三区四区的观看方式| 婷婷国产成人精品视频| 91午夜国产| 久久大逼视频| 日韩美女主播在线视频一区二区三区| 日韩欧美黄色片| 91精品视频免费看| 91在线视频观看免费| 在线视频国产一区| av在线播放亚洲| 久久精品亚洲精品国产欧美kt∨| 污片在线免费看| 欧美激情成人| 日本不卡一区二区三区在线观看| 色的视频在线免费看| 日韩欧美亚洲一二三区| 国产精品一区二区女厕厕| 亚洲精品日韩久久久| 国产欧美一区二区三区沐欲| 在线日韩一区二区| 日韩五码在线观看| 亚洲一二三四在线观看| 日韩中文字幕av在线| 国产精品国内视频| 成视频在线免费观看| 欧美激情日韩| 黄色片一级视频| 最新精品视频| 国产一区二区三区在线免费| 欧美国产一区二区| 色综合视频一区二区三区44| 久久精品视频日本| 超碰91在线播放| 亚洲免费毛片网站| 国产精品一区二区av影院萌芽| 色诱色偷偷久久综合| 成年永久一区二区三区免费视频| 伊人成人开心激情综合网| 四虎网站在线观看| 国产一区二区三区乱码| 夜夜春很很躁夜夜躁| 亚洲啪啪av| 交换国产精品视频一区| 在线不卡a资源高清| 亚洲同性同志一二三专区| 少妇伦子伦精品无吗| 亚洲网站在线观看| 日韩成人小视频| 国产精品最新在线观看| 精品999视频| 无码少妇精品一区二区免费动态| 国产丝袜护土调教在线视频| 蜜桃精品久久久久久久免费影院| 亚洲an天堂an在线观看| 日韩a视频在线观看| 偷拍国模大尺度视频在线播放| 国精产品一区一区三区mba视频| 蜜桃传媒视频第一区入口在线看| 精品一区二区免费看| 精品人妻一区二区三区日产乱码| 555www成人网| 一呦二呦三呦国产精品| 美女精品一区| 亚洲精品乱码久久| 亚洲36d大奶网| 亚洲视频一二三区| 久久久午夜精品| 亚洲一级网站| 韩日在线播放| 在线观看精品视频| 国产在线精品一区二区不卡| 激情六月综合| 97精品视频在线观看自产线路二| 美女被黑人爆操网站| 美洲精品一卡2卡三卡4卡四卡| 国产精品免费精品一区| 99热这里都是精品| 国产黄色片免费| 中文字幕在线视频精品| 涩涩网站在线看| porn视频在线观看| 91嫩草免费看| 欧美日韩在线一| 日韩电影中文 亚洲精品乱码| 欧美一级免费片| 亚洲人午夜精品天堂一二香蕉| 欧美日韩1234| 伊人久久国产| 红桃成人av在线播放| 成人欧美一区二区三区黑人一| 亚洲桃色在线一区| 性高潮久久久久久久| 黄色污污视频在线观看| 亚洲精品欧美极品| 久久99蜜桃精品久久久久小说| 亚洲福利国产| 欧美国产中文高清| 欧美午夜视频| 91黄色免费观看| 午夜dj在线观看高清视频完整版| 99蜜桃在线观看免费视频网站| 天天操天天插| 综合在线一区| 成人深夜福利app| 日本三日本三级少妇三级66| 亚洲成人免费影院| 青青草视频在线免费播放| 久久久久久久久久福利| 国产成人av电影在线观看| 久久免费看视频| 国产黄色一级电影| 日本免费高清不卡| 日韩在线视频一区二区三区| 99久久精品国产亚洲精品| 青青草久久伊人| 国产精品看片资源| 嫩草影院国产精品| 国产免费内射又粗又爽密桃视频| 99九九视频| 天天综合色天天综合| 99热国产在线中文| 亚洲一区二区在线免费看| 亚洲综合色网| 日本不卡免费一区| 男女作爱免费网站| 亚洲免费视频一区| 精品国产一区二区三区四区阿崩| av动漫在线免费观看| 国产一区二区高清| 高清中文字幕一区二区三区| 91麻豆精品视频| 中文字幕免费一区二区| 国产精品福利电影一区二区三区四区| 五月天在线免费视频| 天天色天天草| 精品成人无码一区二区三区| 成人不卡免费视频| 糖心vlog精品一区二区| 亚洲国产精品精华液网站| 性xxxfreexxxx性欧美| 日韩欧美高清一区二区三区| 亚洲综合一区二区精品导航| 在线亚洲国产精品网| 激情黄色小视频| 成人在线观看免费| 夜夜爽妓女8888视频免费观看| av影院在线| 国产精品美女毛片真酒店| 1769免费视频在线观看| 国产黄网站在线观看| 亚洲va男人天堂| 亚洲一二区在线| wwwwxxxx日韩| 美女毛片在线观看| 日本视频免费观看| av动漫免费看| 中文字幕在线看视频国产欧美在线看完整| 中文字幕精品亚洲| 亚洲黄色www| 欧美亚洲专区| freexxx性亚洲精品| 在线观看美女网站大全免费| 成人免费看视频网站| 福利视频在线播放| 日日夜夜天堂| 国产精品免费久久久久影院| www.成人| 亚欧精品一区| 久久免费在线观看视频| 欧美成人精品一区二区免费看片| 中文精品在线| 国产精品高潮呻吟久久av野狼| 韩国美女主播一区| 人妻丰满熟妇av无码久久洗澡| 国产精品久久久久久超碰| 国产精品日韩欧美| 男女视频免费网站| 日韩欧美中文免费| 中文字幕在线一区| 亚洲精品写真福利| 在线电影欧美日韩一区二区私密| 久久久精品综合| 午夜影院免费观看视频| 新呦u视频一区二区| 老司机在线永久免费观看| 欧美老肥妇做.爰bbww| 一区二区亚洲| www.欧美日本| 日本韩国一区二区| 日韩一二三四| 亚洲午夜精品久久久久久app| 国产在线观看精品一区二区三区| 伊人久久大香线蕉综合热线| 韩国三级一区| 国产91久久精品一区二区| 欧美人妻一区二区| 在线观看黄色av网站| 久久免费看视频| 亚洲视频在线观看一区二区| 欧美日免费三级在线| 亚洲一卡久久| av在线free| 中文字幕制服丝袜一区二区三区| 久久精品久久久久久国产 免费| 国色天香一二三期区别大象| 午夜精品一区二区三区在线视| 国产精品777777| 国产一区啦啦啦在线观看| 国产一区免费在线观看| 91最新在线视频| 国产精品美女黄网| 欧美一区二区女人| 日韩毛片在线一区二区毛片| 国产午夜精品一区二区三区| 日本中文字幕电影在线免费观看| 欧美日韩一级二级三级| 欧美日韩精品在线一区| 国产精品国产三级国产在线观看|