国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

DB2 優(yōu)化器中如何使用分布統(tǒng)計信息?

數據庫
此文章主要和大家一起分享的是DB2 優(yōu)化器中如何正確使用分布統(tǒng)計信息的實際操作步驟,以下就是對其實際操作步驟的描述。

本文講述的是在DB2 優(yōu)化器中如何使用分布統(tǒng)計信息?我們大家都知道DB2 優(yōu)化器是一種基于成本的優(yōu)化器。它是根據表與實際操作索引的相關統(tǒng)計信息作出決策。DB2 在生成統(tǒng)計信息時,不但能提供基本統(tǒng)計信息,還允許創(chuàng)建所謂的分布統(tǒng)計信息。

本文解釋什么是分布統(tǒng)計信息、分布統(tǒng)計信息在哪些情況下尤為重要,以及應用程序開發(fā)人員應該考慮些什么,才能使 DB2 優(yōu)化器創(chuàng)建有效的訪問計劃。

簡介

為了執(zhí)行查詢或 DML 語句(INSERT、UPDATE、DELETE),DB2 必須創(chuàng)建一個訪問計劃(access plan)。訪問計劃定義按什么順序訪問表,使用哪些索引,以及用何種連接(join)方法來關聯(lián)數據。好的訪問計劃對于 SQL 語句的快速執(zhí)行至關重要。DB2 優(yōu)化器可以創(chuàng)建訪問計劃。這是一種基于成本的優(yōu)化器,這意味著它是根據表和索引的相關統(tǒng)計信息來作出決策的。

DB2 在生成統(tǒng)計信息時,不但能提供基本統(tǒng)計信息,還允許創(chuàng)建所謂的分布統(tǒng)計信息。不但數據庫管理員要理解分布統(tǒng)計信息,而且應用程序開發(fā)人員也要理解分布統(tǒng)計信息。應用程序開發(fā)人員必須小心謹慎,因為在某些情況下分布統(tǒng)計信息對于 DB2 優(yōu)化器來說非常重要。

主變量或參數標記(在 Java 中為 java.sql.PreparedStatement)的使用可能會造成阻礙,使優(yōu)化器無法***限度地利用分布統(tǒng)計信息。本文解釋什么是分布統(tǒng)計信息、分布統(tǒng)計信息在哪些情況下尤為重要,以及應用程序開發(fā)人員應該考慮些什么,才能使 DB2 優(yōu)化器創(chuàng)建有效的訪問計劃。

基本統(tǒng)計信息和分布統(tǒng)計信息

在研究分布統(tǒng)計信息之前,我們先來看看基本統(tǒng)計信息,只要執(zhí)行 RUNSTATS 即可收集這些表的相關統(tǒng)計信息。

表的相關統(tǒng)計信息:

當前使用的頁面數

包含記錄行的頁面數

 

溢出的行數

 

表中的行數(基數)

 

對于 MDC 表,還有包含數據的塊(block)數

 

表中各列的相關統(tǒng)計信息:

 

列的基數

列的平均長度

 

列中第二大的值

 

列中第二小的值

 

列中 NULL 值的個數

 

通常,執(zhí)行 RUNSTATS 時,不但可以收集到關于表的統(tǒng)計信息,而且還可以收集到相應的索引的相關統(tǒng)計信息。要了解為索引而收集的統(tǒng)計信息,請參閱 DB2 Administration Guide: Performance - Statistical information that is collected。

 

觀察一個表的基本統(tǒng)計信息,您可以看到,DB2 優(yōu)化器知道一個表由多少行組成(表的基數),以及一個列包含多少個不同的值(列的基數)。但是,還有一些信息是基本統(tǒng)計信息無法提供的。例如,基本統(tǒng)計信息不能告訴優(yōu)化器一個列中某些值出現(xiàn)的頻率。假設表 TABLE_X 有大約 1,000,000 行,在該表上執(zhí)行這樣一條查詢:

SELECT * FROM TABLE_X WHERE COLUMN_Y = 'VALUE_Z'

難道 DB2 優(yōu)化器知道 TABLE_X 中有多少行滿足條件 COLUMN_Y = 'VALUE_Z' 不重要嗎?換句話說:知道這個查詢將返回 1 行、100 行、1000 行還是 10000 行有什么不好呢?

實際上,通過基本統(tǒng)計信息,DB2 優(yōu)化器只能估計 'VALUE_Z' 在 COLUMN_Y 中出現(xiàn)的頻率。在這種情況下,優(yōu)化器認為所有值在 COLUMN_Y 中是平均分布的,這意味著它認為所有的值都有相同的出現(xiàn)頻率。如果事實碰巧如此,這樣估計并無大礙。但是,如果有些值比其他值出現(xiàn)得更頻繁一些(例如,如果 'VALUE_Z' 出現(xiàn) 900,000 次,即占所有行的 90%)。

那么DB2 優(yōu)化器不能考慮到這一點,因而生成的訪問計劃就不是***的。而分布統(tǒng)計信息可以填補這一空白。分布統(tǒng)計信息可以提供關于數據出現(xiàn)頻率及其分布情況的信息,如果數據庫中存儲了很多重復值,并且數據在表中并非平均分布的時候,分布統(tǒng)計信息對于基本統(tǒng)計信息是一個重要的補充。

分布統(tǒng)計信息的類型 —— 頻率(frequency)統(tǒng)計信息和分位數(quantile)統(tǒng)計信息

有兩種不同類型的分布統(tǒng)計信息 —— 頻率統(tǒng)計信息和分位數統(tǒng)計信息。讓我們通過一個示例表來研究一下這兩種不同類型的分布統(tǒng)計信息。

示例表 “CARS” 表示一家汽車制造商,對于生產的每一輛汽車,在表中都有相應的一行。每輛汽車可以由它的 ID 來標識,因此 “ID” 是表 “CARS” 的主鍵(PK)。此外,表中有一個 “STATE” 列,表明汽車當前處在制造流程中的哪一步。一輛汽車的制造流程從第 1 步開始,然后是第 2 步、第 3 步,...、第 49 步、第 50 步、第 51 步、...、第 98 步、第 99 步。

一直到第 100 步 —— 第 100 步意味著汽車已經完工了。已完工的汽車所對應的行仍然保留在表中,后續(xù)流程(例如投訴管理、質量保證等)仍要用到這些行。汽車制造商生產 10 種不同型號(“TYPE” 列)的汽車。為了簡化問題,在這個示例表中,各種汽車型號命名為 A、B、C、D、...、J。除主鍵索引(在 “ID” 列上)之外。

“STATE” 列上也有一個索引(“I_STATE”),在 “TYPE” 列上還有一個索引(“I_TYPE”)。實際上,一個 “CARS” 表包含的列遠不止 “ID”、“STATE” 和 “TYPE”。為簡單起見,示例表中沒有出現(xiàn)其他這些列。

頻率統(tǒng)計信息

假設表 CARS 現(xiàn)在有大約 1,000,000 條記錄,不同的型號在表中出現(xiàn)的頻率如下所示:

表 1. 表 CARS 中 TYPE 列的頻率統(tǒng)計信息

 

 

  1. TYPE COUNT(TYPE)   
  2. A 506135   
  3. B 301985   
  4. C 104105   
  5. D 52492   
  6. E 19584   
  7. F 10123   
  8. G 4876   
  9. H 4589   
  10. I 4403   
  11. J 3727 

 

 

型號為 A 的汽車最受購買者的青睞,因此生產的汽車中大約有 50% 是這種型號。型號 B 和型號 C 僅次于型號 A ,分別占所有汽車的 30% 和 10%。其他所有型號加在一起僅占 10%。

上面的表顯示了 “TYPE” 列的頻率統(tǒng)計信息。通過基本統(tǒng)計信息,DB2 優(yōu)化器只能了解到該表包含 1,000,000 行(表的基數)和 10 種不同的值(型號),即 A 到 J。如果沒有分布統(tǒng)計信息,優(yōu)化器會認為每種值以相同的頻率出現(xiàn),大約都是出現(xiàn) 100,000 次。

而一旦生成了關于 “TYPE” 列的分布統(tǒng)計信息,優(yōu)化器即可了解每種型號真正的出現(xiàn)頻率。因此,DB2 優(yōu)化器清楚各種已有型號出現(xiàn)的不同頻率。

優(yōu)化器使用頻率統(tǒng)計信息來計算用于檢查相等或不等的謂詞的過濾因子。例如:

 

  1. SELECT * FROM CARS WHERE TYPE = 'H' 

分位數統(tǒng)計信息

與頻率統(tǒng)計信息不同,分位數統(tǒng)計信息與不同值的出現(xiàn)頻率無關,而與一個表中有多少行小于或大于某個值(或者有多少行介于兩個值之間)相關。分位數統(tǒng)計信息提供關于一個列中的值是否聚合的信息。為獲得這樣的信息,DB2 假定列中的值是按升序排列的,并根據正則行間隔確定相應的值。

我們來看看表 CARS 中的 “STATE” 列,該列按升序排列。根據正則行間隔,即可確定 “STATE” 的對應值。

表 2. CARS 表中 STATE 列的分位數統(tǒng)計信息

 

 

  1. COUNT(row) STATE ASC   
  2. 5479 1   
  3. 54948 10   
  4. 109990 21   
  5. 159885 31   
  6. 215050 42   
  7. 265251 52   
  8. 320167 63   
  9. 370057 73   
  10. 424872 84   
  11. 475087 94   
  12. 504298 100   
  13. ... 100   
  14. 1012019 100 

 

 

由于已完工的汽車仍然沒有從表中刪除,因此狀態(tài)為 100 (=完工)的汽車數量比所有處于其他狀態(tài)的汽車總和還多。已完工的汽車占表中所有記錄的 50%。

注意: 在實際情況下,已完工的汽車數量甚至還要更多(例如超過 99%)。在后文中的具體例子中可看到這種情況。

上表顯示了 “STATE” 列的分位數統(tǒng)計信息。有了這種關于有多少行分別小于和大于確定值的信息,優(yōu)化器即可計算出用于測試小于(小于等于)、大于(大于等于)或介于兩值之間的謂詞的過濾因子。例如:

 

  1. SELECT * FROM CARS WHERE STATE < 100 
  2. SELECT * FROM CARS WHERE STATE BETWEEN 50 AND 70  

 

根據已有的分位數統(tǒng)計信息計算出來的過濾因子不是很精確,但即使只收集 20 個值,其誤差仍然低于 5%。

完整內容的學習,請訪問:

http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0606fechner/

【編輯推薦】

  1. DB2數據庫雙機的正確安裝流程描述
  2. 對DB2 實現(xiàn)split的操作流程描述
  3. JDBC連接DB2數據庫的“捷徑”
  4. IBM DB2 Catalog如何正確應用?
  5. DB2連接端口不能啟動這一問題的殲滅

 

責任編輯:佚名 來源: css-board.cn
相關推薦

2010-08-20 11:16:39

DB2 優(yōu)化器

2010-08-13 14:32:13

DB2 優(yōu)化器

2010-09-01 10:38:47

DB2統(tǒng)計信息

2010-08-31 15:08:14

DB2INSERT優(yōu)化

2011-03-21 09:51:04

DB2性能優(yōu)化

2010-08-16 17:07:43

DB2 trc

2012-08-01 14:23:35

IBMdW

2010-11-04 15:43:49

DB2數據統(tǒng)計與分析系

2010-11-04 15:39:40

DB2 SQL語句

2010-08-05 15:48:14

DB2強制優(yōu)化器

2010-08-20 09:44:51

DB2確定某個表

2010-08-20 09:44:51

DB2確定某個表

2010-08-10 17:33:42

DB2 優(yōu)化器

2010-09-06 16:16:20

DB2 優(yōu)化器

2010-08-20 09:44:51

DB2確定某個表

2010-08-17 16:13:32

DB2 并行版本

2010-09-30 15:17:17

DB2信息目錄

2010-09-06 14:39:06

DB2 9

2010-09-30 13:27:09

DB2游標

2010-08-17 17:29:06

DB2性能優(yōu)化
點贊
收藏

51CTO技術棧公眾號

欧美日韩亚洲综合在线| 精品久久蜜桃| 日日夜夜一区二区| 涩涩视频在线播放| 国产精品一区在线免费观看| 欧美第一黄色网| 色噜噜国产精品视频一区二区| 国产精品夜间视频香蕉| 国产一区二区久久久| 日韩中文字幕在线看| 欧美日韩福利在线观看| 亚洲日本va午夜在线电影| 中国在线观看免费国语版电影 | 国内成人精品视频| 精品久久久免费| 国产又粗又猛又爽又黄91精品| 欧洲午夜精品| 麻豆视频在线| 99riav视频| 亚洲欧洲一二三| 麻豆国产精品va在线观看不卡| 夜夜爽夜夜爽精品视频| 国产一本一道久久香蕉| 久久成人久久爱| 91视频欧美| 国产在线精品一区二区中文 | 亚洲成人自拍偷拍| 国产欧美精品| 国产乱码精品一区二区三区亚洲人| 日韩av片网站| 91aaaa| 精品国产一区二区三区久久久 | 亚洲精品色图| 亚洲欧美一级| www.com.cn成人| 蜜芽tv福利在线视频| 久久午夜夜伦鲁鲁一区二区| 国内一区二区在线视频观看| 欧美一级高清免费| 3d成人h动漫网站入口| 在线精品一区| 精品久久视频| 97婷婷大伊香蕉精品视频| 亚洲成人动漫在线观看| 中文字幕一区二区三区蜜月| 播五月开心婷婷综合| 免费xxxx性欧美18vr| 麻豆一区二区99久久久久| 亚洲精选久久| 国产午夜精品一区二区三区欧美 | 成人黄色一区二区| 精品一区2区三区| 国产日韩欧美自拍| 国产国语videosex另类| 欧美激情videoshd| 亚洲精品影视在线观看| 日韩欧美一区二区三区| 亚洲一区免费在线观看| 欧美激情一区二区三区全黄| 国产成人一区二区精品非洲| 国产精品久久久久久久久久10秀 | 国产精品国内视频| 国产福利久久精品| 国产欧美一区二区精品久导航| 国产精品一区二区男女羞羞无遮挡| 国产91精品在线观看| 黄色精品在线看| 伊人久久免费视频| 欧美日韩电影在线| 欧美日韩成人在线视频| 91色视频在线导航| www精品久久| 麻豆tv入口在线看| jizz国产精品| 精品亚洲免费视频| 欧美亚洲尤物久久| 欧美成va人片在线观看| 91精品国产综合久久婷婷香蕉| 欧美丰满嫩嫩电影| 色偷偷噜噜噜亚洲男人| 日韩中文字幕一区| 一区二区三区在线资源| 国产精品久久久久久久久搜平片| 亚洲精品mp4| 一本色道久久88综合日韩精品| 亚洲精品一区二区久| 亚洲自拍欧美另类| 欧美日韩在线精品一区二区三区激情综| 欧美日韩国产三级| 中文国产字幕在线观看| 热久久国产精品| 免费成人高清在线视频theav| 91精品国产91久久久久青草| 男人日女人视频网站| 91p在线观看| 国自产拍偷拍精品啪啪一区二区 | 欧美二区在线播放| 任你弄在线视频免费观看| 成人黄色免费在线观看| 亚洲午夜激情免费视频| 亚洲一区影院| 国产资源在线视频| 欧美日韩123区| 伊人久久婷婷| 欧美性猛交xxxx黑人| 一区二区三区日本久久久| 国产欧美日韩在线观看| 91精品国产一区二区三区| 久久国产精品免费视频| 日韩av在线免播放器| 国产精品视频成人| 性直播在线观看| 日韩最新av| 国产精品国产自产拍高清av | 牛牛精品视频在线| 欧美va天堂在线| 在线视频中文字幕一区二区| 亚洲综合日韩中文字幕v在线| 欧美成熟毛茸茸| 国产精品扒开腿做爽爽爽软件| 樱桃视频在线观看一区| 亚洲精品网址在线观看| av一区二区三区四区电影| 中文字幕2019第三页| 国产偷倩在线播放| 性欧美videos另类喷潮| 日韩中文字幕一区二区三区| 一区二区三区精品在线| 国产午夜精品视频| 色综合666| 老司机在线视频二区| 欧美色就是色| 成人免费看视频| 久久综合久中文字幕青草| 中日韩一区二区三区| 亚洲爆乳无码专区| 日本在线观看网站| 久久精品国产一区二区| 亚洲男人天堂视频| 男人操女人逼免费视频| 99热一区二区三区| 在线观看免费黄网站| 在线精品国产| 久久av.com| 国产调教视频在线观看| 国产又黄又大久久| 国产精品免费看久久久香蕉| 在线观看免费黄色| 成+人+亚洲+综合天堂| 91精品中文在线| 岛国av在线播放| 国产宾馆实践打屁股91| 精品五月天久久| 国产女女做受ⅹxx高潮| 国产精品99精品一区二区三区∴| 香蕉久久久久久久av网站| 亚洲国产日韩a在线播放性色| 999国产在线| 成人高潮成人免费观看| 三级欧美韩日大片在线看| 欧洲一区二区三区在线| 亚洲综合五月天| 最新av网站在线观看| 人成在线免费视频| 国产高清无密码一区二区三区| 97人人做人人爱| 亚洲精品天堂成人片av在线播放| 在线天堂日本| 永久免费网站在线| 国产综合色在线视频区| 国产有码一区二区| 韩日精品一区| 日韩欧美三级在线| 亚洲成人观看| 中文字幕一区二区三区视频| 国产精品自拍首页| 国产a久久精品一区二区三区| 亚洲高清免费观看高清完整版| 一级毛片免费视频| 久久精品水蜜桃av综合天堂| 这里只有精品66| 99热精品久久| 国产精品精品国产| jizz性欧美2| 久久精品中文字幕电影| 久cao在线| 色婷婷av一区二区三区gif| 亚洲色图久久久| av欧美精品.com| 桥本有菜av在线| 亚洲人成久久| 亚洲一区二区久久久久久久 | 国产综合第一页| 亚洲有吗中文字幕| 国产男人精品视频| 欧美激情在线精品一区二区三区| 欧美成人午夜视频| 不卡精品视频| 91精品国产91久久久久久最新| 91久久精品无嫩草影院|