日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQL Server索引直方圖描述

以下的文章主要向大家講述的是SQL Server索引直方圖(The Statistics Histogram),在直方圖中,其至多可存儲200個樣本值。每個樣本被稱為一個step。保存在每個step中樣本值是值的范圍的端點。每個step保存了3個值,分別描述為:

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、虛擬主機、營銷軟件、網(wǎng)站建設(shè)、涼州網(wǎng)站維護、網(wǎng)站推廣。

EQ_ROWS——與樣本值相同的行數(shù)。換句話就是該step中重復值的個數(shù)。

RANG_ROWS——表示除了當前值外,介于當前step和前一個step之間其他值的行數(shù)。

Rang Density——表示在該范圍內(nèi)有多少個不同的值。范圍密度信息實際上有兩個單獨的列組成,分別為:DISTINCT_RANGE_ROWS 和AVG_RANG_ROWS。

DISTINCT_RANGE_ROWS表示除了當前值外,當前step與前一個step之間具有多少個不同值的個數(shù)。

AVG_RANGE_ROWS在該step范圍內(nèi),每個不同值的平均行數(shù)。

在listing34.1的輸出中,SQL Server索引直方圖中第一列的所有不同鍵值的值作為樣本值存儲在直方圖中,所以,直方圖中的樣本值之間沒有值(RANG_ROWS),其后所有的范圍值為0。你可能注意到在last name 為Ringer的索引鍵值上有一個重復值(EQ_ROWS = 2)。為了更好比較,Listing34.2顯示了bigpubs2000數(shù)據(jù)庫中的sales表的DBCC SHOW_STATISTICS信息片段。

 
 
 
  1. Listing 34.2 DBCC SHOW_STATISTICS Output for the titleidind Index on the sales Table in the bigpubs2000 Database   
  2. Statistics for INDEX 'titleidind'.   
  3. Updated Rows Rows Sampled Steps Density Average key length   
  4. Aug 21 2001 11:18PM 168725 168725 200 1.8955356E-3 26.405577   
  5. (1 row(s) affected)   
  6. All density Average Length Columns   
  7. 1.8621974E-3 6.0 title_id   
  8. 5.997505E-6 10.0 title_id, stor_id   
  9. 5.9268041E-6 26.405577 title_id, stor_id, ord_num   
  10. (3 row(s) affected)   
  11. RANGE_HI_KEY RANGE_ROWS EQ_ROWS DISTINCT_RANGE_ROWS AVG_RANGE_ROWS   
  12. BI0194 0.0 314.0 0 0.0   
  13. BI2184 613.0 343.0 2 306.5   
  14. BI2574 270.0 277.0 1 270.0   
  15. BI3224 618.0 286.0 2 309.0   
  16. BI3976 311.0 293.0 1 311.0   
  17. BI6450 673.0 300.0 2 336.5   
  18. BI9506 947.0 292.0 3 315.66666   
  19. BU1111 296.0 299.0 1 296.0   
  20. BU7832 349.0 334.0 1 349.0   
  21. CH0249 1011.0 311.0 3 337.0   
  22. CH0639 984.0 307.0 3 328.0   
  23. ...   
  24. TC4203 0.0 321.0 0 0.0   
  25. TC7777 0.0 297.0 0 0.0   
  26. (200 row(s) affected)   

從這個例子你可以看出,每個范圍內(nèi)有更多的值(RANG_ROWS),并且每個step中包含了更多的重復值(EQ_ROWS)。另外,直方圖中的所有200行都被使用了,表中的168,725行記錄分布在這些200行中。所有的168,725行都被用來生成統(tǒng)計信息(Rows Sampled)。

只有當一個常量表達式與索引列進行比較時,并且常量表達式的值在查詢編譯時是已知時,SARG的計算才能使用直方圖的step值。直方圖中的step可以為SARG使用的的例子包括:

 
 
 
  1. Where col_a = getddate()   
  2. Where cust_id = 12345   
  3. Where monthly_sales < 10000 /12   
  4. Where l_name like "Smith" + "%" 

有些常量表達式的直到查詢運行時才能計算出來。這些查詢參數(shù)中包含了局部變量或者子查詢:

 
 
 
  1. Where price = @avg_price   
  2. Where total_sales > (select sum(qty) from sales)   
  3. Where titles.pub_id = publishers_id 

對于這些類型的表達式,你需要其他方法來估計匹配的行數(shù)。另外,因為直方圖steps只記錄了索引中第一列的值,當需要評估組合索引的多列的SARG匹配的行數(shù)時,SQL Server必須使用不同方法來決定,例如下面:

 
 
 
  1. Select * from sales   
  2. Where title_id = 'BI3976'   
  3. And stor_id = 'p648' 

當直方圖沒有被使用或者不能使用時,SQL Server使用索引密度值來估計匹配的行數(shù),以上的相關(guān)內(nèi)容就是對SQL Server索引直方圖(The Statistics Histogram)的介紹,望你能有所收獲。

【編輯推薦】

  1. 創(chuàng)建SQL Server數(shù)據(jù)庫更是實在
  2. SQL Server創(chuàng)建表所要用到的代碼
  3. SQL Server創(chuàng)建約束的代碼運用
  4. 實現(xiàn)SQL Server創(chuàng)建事務(wù)要用到的代碼
  5. 優(yōu)化SQL Server數(shù)據(jù)庫的經(jīng)驗大盤點

分享名稱:SQL Server索引直方圖描述
路徑分享:http://m.5511xx.com/article/ccoodeh.html