成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

如何理解DB2 中列組統(tǒng)計信息
2007-08-13   IT專家網(wǎng)社區(qū)

DB2 SQL 優(yōu)化器(后文簡稱為優(yōu)化器)可以估計每個備選訪問計劃的執(zhí)行成本,并根據(jù)其估計結果選擇一個最佳訪問計劃。一個訪問計劃可以指定用來解析一條 SQL 語句的操作次序。

  為正確地確定每種訪問計劃的成本,DB2 優(yōu)化器需要準確的基數(shù)估計值。基數(shù)估計是這樣一種過程:在應用了謂詞或執(zhí)行了聚集之后,優(yōu)化器使用統(tǒng)計信息確定部分查詢結果的大小。對于訪問計劃的每個操作符,優(yōu)化器將估計該操作符的基數(shù)輸出。一個或更多謂詞的應用可以減少輸出流基數(shù)。

  在計算謂詞對于基數(shù)估計值的組合過濾效果時,通常會假設這些謂詞彼此之間是獨立的。然而,這些謂詞可以在統(tǒng)計方面彼此關聯(lián)。單獨地處理它們通常會導致優(yōu)化器低估基數(shù)值。而基數(shù)值的低估又會導致優(yōu)化器選擇一個次優(yōu)的訪問計劃。

  對于至少應用了至少兩個本地等式謂詞的 SQL 語句,優(yōu)化器將考慮使用多列統(tǒng)計信息來檢測統(tǒng)計關聯(lián),并更加準確地估計多個謂詞組合的過濾效果。同樣對于連接兩個或更多表的 SQL 語句,以及在一對表間至少使用了兩個等式連接謂詞的連接,優(yōu)化器也會使用多列統(tǒng)計信息。

  一個本地等式謂詞是一個應用于單個表的等式謂詞,其描述如下所示:

  COLUMN = literal

  其中 literal 可以是以下任一內容:

  •   一個常量值;
  •   一個參數(shù)標記或一個主變量;
  •   一個專用寄存器(例如,CURRENT DATE)

  一個等式連接謂詞的描述如下所示,它用于表 1 和表 2 間的連接:

  T1.COLUMN = T2.COLUMN

  DB2 V8.2 使用下面的多列統(tǒng)計信息:

  •   索引 keycard 統(tǒng)計信息:FIRST2KEYCARD、FIRST3KEYCARD、FIRST4KEYCARD 和 FULLKEYCARD
  •   列組統(tǒng)計信息:列組基數(shù)值

  這些統(tǒng)計信息描述了包含兩個或更多列的列集中不同分組的數(shù)量。

  在 DB2 V8.2 出現(xiàn)之前,只能使用索引 keycard 統(tǒng)計信息,并且要受下列條件約束:

  •   索引必須是完全限定的。如果鍵中的所有列都可以被等式謂詞 引用(連接謂詞或本地謂詞,但不是兩者的混合),那么這個索引就是完全限定的。
  •   對于連接謂詞,索引也必須是惟一的。

  在 DB2 V8.2 中,通過考慮到所有索引 keycard 統(tǒng)計信息而不要求索引完全限定,DB2 SQL 優(yōu)化器進一步擴展了多列統(tǒng)計信息的使用。它還考慮到了用戶收集的任何列組統(tǒng)計信息。本文討論了優(yōu)化器如何利用這些統(tǒng)計信息,以及用戶如何識別要收集的列組統(tǒng)計信息。

多個本地等式謂詞的統(tǒng)計相關性

  DB2 SQL 優(yōu)化器試圖檢測多個本地等式謂詞間的統(tǒng)計相關性。

  示例 1:假設有一個表 SHOW_LISTINGS,它包含如下列:

  表 1. SHOW_LISTINGS 表的描述

列名 描述
SHOW_ID 表外鍵,包含關于各演出清單的信息
CHANNEL_ID 表外鍵,包含關于播放演出的每個頻道的信息
STATION_ID 表外鍵,包含和頻道相關的每個電視臺的信息
CITY_ID 表外鍵,包含關于上演該演出的每個城市的信息
DAY 演出播放的日期
TIME 演出播放的當天的時間
<other columns> 描述了演出清單的其他屬性

  由于演出只在某個電視臺的某個頻道播出,在一天的特定時間內,這些列(SHOW_ID,CHANNEL_ID,STATION_ID 和 TIME)彼此之間不是互相獨立的。DAY 列獨立于 TIME 列,但是它不獨立于所有演出清單的 SHOW_ID。

  設想一條應用了以下謂詞的 SQL 語句:

  P1: SHOW_ID = ?
  P2: CHANNEL_ID = ?
  P3: STATION_ID = ?
  P4: TIME = ?

  如果存在這樣一個索引,其中的鍵包含謂詞 P1-P4 引用的所有列,或者鍵中的前四列包含所引用的列,優(yōu)化器將使用 FIRST4KEYCARD 索引統(tǒng)計信息(如果收集了索引統(tǒng)計信息的話),來檢測謂詞 P1-P4 之間的統(tǒng)計相關性。在應用了這四個謂詞之后,優(yōu)化器將計算一個更準確的基數(shù)估計值。例如,下面的任何一個索引可以用來檢測這四個謂詞間的統(tǒng)計相關性:

  IX1 ON SHOW_LISTINGS(SHOW_ID, CHANNEL_ID, STATION_ID, TIME)
  IX2 ON SHOW_LISTINGS(SHOW_ID, CHANNEL_ID, STATION_ID, TIME, CITY_ID)
  IX3 ON SHOW_LISTINGS(SHOW_ID, CHANNEL_ID, STATION_ID, TIME, DAY, CITY_ID)

  優(yōu)化器使用 IX1 的 FULLKEYCARD 和 FIRST4KEYCARD 統(tǒng)計信息來檢測所有四個謂詞的相關性。類似地,它也可以使用 IX2 和 IX3 的 FIRST4KEYCARD。

  不能使用如下所示的索引:

  IX4 ON SHOW_LISTINGS(CITY_ID, SHOW_ID, CHANNEL_ID, STATION_ID, TIME)

  由于每個 keycard 統(tǒng)計信息都將包含 CITY_ID 列,因此該列上未定義本地等式謂詞。

……

熱詞搜索:

上一篇:IBM DB2商業(yè)智能軟件介紹
下一篇:Windows的公鑰基礎結構(PKI)增強功能1

分享到: 收藏
主站蜘蛛池模板: 雪豹46集全| 日本电视剧《阿信》| 历史转折中的| 姐妹姐妹演员全部演员表| 边缘战士| 前线任务| 色在线视频| 奥特曼名字大全加图片| 人世间豆瓣| 情动电影| 四级词汇电子版| 黑丝高跟在线| 抖音下截| 何以笙箫默豆瓣| 转正意见评语| 韩国三级播放| 妻乳| 寇世勋个人资料简介| 杨新鸣| 黄色mm视频| 小丑2双重疯狂免费播放在线观看 李保田最经典十部电影 | 温暖的抱抱 电影| 张大民的幸福生活| 王渝萱最火的三部电影| 韩国伦理片在线播放| 爱奈| 绝顶五秒前| 单人情侣头像| 鏖战鲁西南| 朱莉·安妮·普雷斯科特| 谭咏麟个人资料简介| 林智妍上流社会| 倒带简谱| 蒙古小男孩唱哭全场| 红剪花| 晚上吃什么减肥| 迷失之城 电影| 核舟记课堂笔记| 香港之夜免费观看视频完整版| 红楼影视| 少爷爱上我台湾版双男主电视剧|