成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

DB2性能調(diào)優(yōu)之設(shè)計并配置相關(guān)數(shù)據(jù)庫實操

數(shù)據(jù)庫
以下的文章主要向大家講述的是DB2性能調(diào)優(yōu)之設(shè)計并配置你的數(shù)據(jù)庫,以下就是文章的詳細(xì)內(nèi)容介紹,望大家借鑒。

我們今天主要向大家講述的是DB2性能調(diào)優(yōu)之設(shè)計并配置你的數(shù)據(jù)庫,有很多數(shù)據(jù)庫設(shè)計與配置選項能影響到查詢性能。對數(shù)據(jù)庫設(shè)計的更多建議參考“ Planning your Physical Database Design ”***實踐文章。

 

DB2性能調(diào)優(yōu)之使用約束來提高查詢優(yōu)化

考慮定義的唯一性,檢查并參考一致性約束。這些約束提供了語義信息,允許 DB2 優(yōu)化器重寫查詢來評估連接,通過連接來降低聚合和 FETCH FIRST N ROWS,去掉不必要的 DISTINCT 選項被和一些其它的優(yōu)化。當(dāng)應(yīng)用程序可以保證它自己的關(guān)系時,信息約束也可以被用來檢查并參考一致性約束。相同的優(yōu)化也是可以的。

當(dāng)更新(插入或刪除)行的時候,來自數(shù)據(jù)庫管理器的強制約束可能導(dǎo)致很高的系統(tǒng)開銷,尤其在更新很多有一致性約束的行的時候。如果一個應(yīng)用程序在更新一行之前已經(jīng)驗證的信息,這樣使用信息約束比起正常的約束更有效

例如,考慮 2 個表 DAILY_SALES 和 CUSTOMER 。在 CUSTOMER 表中的每一行都有一個唯一的客戶鍵值(CUST_KEY)。 DAILY_SALES 包含一個 CUST_KEY 列并且每一行都引用一個 CUSTOMER 表中的客戶鍵。可以創(chuàng)建一個參考一致性約束來防止在 CUSTOMER 和 DAILY_SALES 之間發(fā)生 1:N 的關(guān)系。

如果應(yīng)用程序要強制約束這個關(guān)系,可以創(chuàng)建一個信息化的約束。那么下面的查詢避免了在 CUSTOMER 和 DAILY_SALES 之間進(jìn)行連接,因為沒有從 CUSTOMER 獲取任何列,而且來自于 DAILY_SALES 的每一行都可以在 CUSTOMER 里面找到與之匹配的行,所以查詢優(yōu)化器將自動刪除連接

  1. SELECT AMT_SOLD, SALE PRICE, PROD_DESC   
  2. FROM DAILY_SALES, PRODUCT, CUSTOMER   
  3. WHERE   
  4. DAILY_SALES.PROD_KEY = PRODUCT.PRODKEY AND   
  5. DAILY_SALES.CUST_KEY = CUSTOMER.CUST_KEY  

應(yīng)用程序必須執(zhí)行信息約束,否則查詢可能返回不正確的結(jié)果。在上面的例子中,如果行存在于 DAILY_SALES 中,在 CUSTOMER 表中卻找不到相應(yīng)的客戶鍵,那么上面的查詢返回的行可能不正確。

 

DB2性能調(diào)優(yōu)之在復(fù)雜查詢中使用 REOPT 綁定選項和輸入變量

在一個在線事務(wù)處理(OLTP)環(huán)境的中輸入變量有較好的語句準(zhǔn)備時間是關(guān)鍵,在這樣的環(huán)境中語句往往比較簡單而且查詢計劃選擇也很簡單。使用不同的輸入變量多次運行相同的語句可以復(fù)用在動態(tài)語句高速緩存中編譯了的訪問片段,避免了由于隨時更改輸入值而造成昂貴的 SQL 語句編譯開銷。

然而,輸入變量對復(fù)雜的查詢負(fù)載也會造成問題,它們的查詢計劃選擇非常復(fù)雜,因此優(yōu)化器需要更多的信息來做出好的決定。而且,語句編譯時間通常是總運行時間中的一個很小組成部分。因為 BI 查詢通常不會重復(fù),所以并沒有從動態(tài)語句高速緩存上得到好處。

如果在一個復(fù)雜查詢工作負(fù)載中需要使用輸入變量,請考慮使用 REOPT(ALWAYS) BIND 選項。當(dāng)輸入變量值是已知的,REOPT BIND 選項從 PREPARE 到 OPEN 或執(zhí)行過程中推遲了語句編譯。變量值被傳遞到 SQL 編譯器中,這樣優(yōu)化器可以使用這些便利來計算一個更精確的選擇評估。

REOPT(ALWAYS) 表示所有執(zhí)行語句都應(yīng)該被預(yù)編譯。 REOPT(ALWAYS) 也可以被用于涉及特殊寄存器的復(fù)雜查詢,比如 "WHERE TRANS_DATE = CURRENT DATE - 30 DAYS" 。如果輸入變量對 OLTP 工作負(fù)載造成較差的訪問計劃選擇,并且 REOPT(ALWAYS) 選項因為語句編譯造成過多的開銷,那么考慮對挑選過的查詢使用 REOPT(ONCE) 。

REOPT(ONCE) 推遲語句的編譯直到***數(shù)據(jù)變量被綁定。使用這個***輸入變量值編譯并優(yōu)化 SQL 語句。后續(xù)使用不同的值來運行的語句將重用基于***個輸入編譯的查詢片段。這是一個好方法 , 如果***輸入變量代表了后續(xù)的輸入值,并且在輸入值未知的情況下比起優(yōu)化器使用不同的值進(jìn)行評估,它提供個了一個更好的查詢訪問計劃

【編輯推薦】

  1. 對DB2數(shù)據(jù)庫編目概念的深刻理解
  2. SQL Server到DB2連接服務(wù)器如何實現(xiàn)?
  3. JDBC連接DB2數(shù)據(jù)庫的實際操作技巧有哪些?
  4. 對DB2數(shù)據(jù)庫編目概念的深刻理解
  5. DB2 admin管理員帳號刪除的正確理解

 

責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-08-06 12:38:17

DB2性能調(diào)優(yōu)

2010-08-17 17:29:06

DB2性能優(yōu)化

2010-08-11 12:43:45

DB2數(shù)據(jù)庫調(diào)優(yōu)

2011-03-25 15:54:02

DB2數(shù)據(jù)庫初始調(diào)優(yōu)設(shè)計

2010-08-11 14:32:55

DB2數(shù)據(jù)庫調(diào)優(yōu)

2010-09-07 16:45:58

DB2數(shù)據(jù)庫

2010-05-27 17:10:03

MySQL數(shù)據(jù)庫內(nèi)存

2010-08-25 10:50:48

DB2數(shù)據(jù)庫

2010-08-18 09:26:56

DB2性能調(diào)優(yōu)

2009-12-16 10:48:42

DB2數(shù)據(jù)庫

2009-02-26 09:34:16

性能優(yōu)化DB2數(shù)據(jù)庫

2010-07-28 09:42:57

DB2性能

2011-07-08 16:02:54

HBase

2010-08-27 11:03:44

DB2數(shù)據(jù)庫性能調(diào)整

2010-02-04 11:55:27

ibmdwDB2

2010-08-09 15:59:42

2010-07-30 11:10:24

DB2性能調(diào)優(yōu)

2010-08-17 17:23:42

DB2性能

2010-08-26 16:15:25

DB2數(shù)據(jù)庫管理

2010-11-01 11:30:41

DB2數(shù)據(jù)庫權(quán)限
點贊
收藏

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

主站蜘蛛池模板: 18gay男同69亚洲网站 | 国产一级免费在线观看 | 在线色网址 | 久久精品综合 | 美女拍拍拍网站 | 久草网站 | 亚洲久视频 | 国产成人精品久久 | 99免费 | 日韩精品在线播放 | 97国产超碰 | 国产丝袜一区二区三区免费视频 | 久久久久久毛片免费观看 | 国产精品久久久久久亚洲调教 | 91五月婷蜜桃综合 | 日韩无 | 狠狠av| 国产成人精品999在线观看 | 国产精品久久一区 | 国产精品久久久久久久久久免费 | 亚洲精品乱码久久久久久黑人 | 国产精品久久在线观看 | 日韩国产精品一区二区三区 | 97人澡人人添人人爽欧美 | 亚洲日韩中文字幕一区 | 久在线 | 国产精品久久久久久久毛片 | 九九热在线观看视频 | 91成人在线 | 无码一区二区三区视频 | 欧美日韩国产中文字幕 | 国产区一区 | 亚洲精品久久久久久久久久久久久 | 亚洲精品3 | 麻豆一区二区三区精品视频 | 中文字幕高清一区 | 午夜理伦三级理论三级在线观看 | 99视频在线| 亚洲国产成人精品女人 | 91久久国产综合久久 | 精品视频久久久久久 |