偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL Server索引直方圖描述

數(shù)據(jù)庫 SQL Server
我們今天主要向大家講述的是SQL Server索引直方圖(The Statistics Histogram),以下就是文章的主要內(nèi)容的具體描述。

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

 

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

 

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

 

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

 

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

 

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

 

在listing34.1的輸出中,SQL Server索引直方圖中第一列的所有不同鍵值的值作為樣本值存儲在直方圖中,所以,直方圖中的樣本值之間沒有值(RANG_ROWS),其后所有的范圍值為0。你可能注意到在last name 為Ringer的索引鍵值上有一個重復(fù)值(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中包含了更多的重復(fù)值(EQ_ROWS)。另外,直方圖中的所有200行都被使用了,表中的168,725行記錄分布在這些200行中。所有的168,725行都被用來生成統(tǒng)計信息(Rows Sampled)。

只有當(dāng)一個常量表達(dá)式與索引列進(jìn)行比較時,并且常量表達(dá)式的值在查詢編譯時是已知時,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" + "%" 

 

 

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

 

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

 

 

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

 

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

 

 

當(dāng)直方圖沒有被使用或者不能使用時,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)驗大盤點

 

責(zé)任編輯:佚名 來源: 北京晨報
相關(guān)推薦

2010-07-07 09:27:15

SQL Server索

2010-07-07 09:47:04

SQL Server索

2010-07-19 16:17:41

SQL Server聚

2011-03-30 11:28:31

SQL Server聚集索引

2010-07-07 11:28:12

SQL Server索

2010-07-07 10:31:43

SQL Server數(shù)

2010-06-17 15:09:49

SQL Server

2010-09-16 13:42:55

SQL SERVER索

2010-06-28 13:56:16

SQL Server代

2010-07-09 10:08:53

SQL Server函

2010-07-19 18:04:23

SQL Server鎖

2010-07-20 08:35:54

SQL Server鎖

2010-06-30 11:16:50

SQL Server

2010-06-18 13:41:33

SQL Server

2010-07-16 16:05:44

SQL Server更

2010-07-20 09:15:03

SQL Server

2010-07-19 16:36:13

SQL Server視

2010-06-18 10:50:55

ms SQL Serv

2010-07-02 08:53:06

MIS SQL Ser

2010-07-02 14:34:35

SQL Server
點贊
收藏

51CTO技術(shù)棧公眾號