自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

優(yōu)化DB2數(shù)據(jù)庫應(yīng)用系統(tǒng)性能的深入研究

數(shù)據(jù)庫
我們今天是要與大家一起探討的是DB2數(shù)據(jù)庫應(yīng)用系統(tǒng)性能的優(yōu)化深入研究,如果你對(duì)其心存好奇的話,以下的文章將會(huì)揭開它的神秘面紗。

http://database.51cto.com/art/201008/215674.htm以下的文章主要是介紹DB2數(shù)據(jù)庫應(yīng)用系統(tǒng)性能的優(yōu)化深入研究,我們大家都知道DB2數(shù)據(jù)庫它是一種高性能的大型關(guān)系數(shù)據(jù)庫管理系統(tǒng),其廣泛的應(yīng)用在客戶/服務(wù)器體系結(jié)構(gòu)中。評(píng)價(jià)系統(tǒng)性能優(yōu)化的標(biāo)準(zhǔn)有:吞吐量、響應(yīng)時(shí)間、并行能力等。

 

設(shè)計(jì)數(shù)據(jù)庫

1. 熟悉業(yè)務(wù)系統(tǒng)

對(duì)業(yè)務(wù)系統(tǒng)的熟悉程度對(duì)整個(gè)DB2數(shù)據(jù)庫系統(tǒng)的性能有很大影響,一個(gè)對(duì)業(yè)務(wù)不熟悉的設(shè)計(jì)人員,盡管有豐富的數(shù)據(jù)庫知識(shí),也很難設(shè)計(jì)出性能最佳的數(shù)據(jù)庫應(yīng)用系統(tǒng)。

2. 規(guī)范化與非規(guī)范化

數(shù)據(jù)庫被規(guī)范化后,減少了數(shù)據(jù)冗余,數(shù)據(jù)量變小,數(shù)據(jù)行變窄。這樣DB2的每一頁可以包括更多行,那么每一區(qū)里的數(shù)據(jù)量更多,從而加速表的掃描,改進(jìn)了單個(gè)表的查詢性能。但是,當(dāng)查詢涉及多個(gè)表的時(shí)候,需要用很多連接操作把信息從各個(gè)表中組合在一起,導(dǎo)致更高的CPU和I/O花銷。

那么,有很多時(shí)候需要在規(guī)范化和非規(guī)范化之間保持平衡,用適當(dāng)?shù)娜哂嘈畔頊p少系統(tǒng)開銷,用空間代價(jià)來換取時(shí)間代價(jià)。有訂單信息表OrderDetail,它里面記錄了投遞員信息,收款員信息,物品信息,價(jià)格策略,客戶信息…..這些信息分別在投遞員信息表、收款員信息表、物品信息表、價(jià)格策略表、客戶信息表中存放。

如果按照規(guī)范化的要求,OrderDetail查詢時(shí)就必須要與這么多個(gè)表進(jìn)行連接或者嵌套查詢。如果OrderDetail表中的數(shù)據(jù)量是在百萬級(jí)的,那么一次查詢所需要的時(shí)間可能會(huì)達(dá)到好幾個(gè)小時(shí)。事實(shí)上,只要在設(shè)計(jì)時(shí)保證數(shù)據(jù)的邏輯有效性,很多信息都可以直接冗余在OrderDetail表中,這些冗余的數(shù)據(jù)能夠極大的提高查詢的效率,從而減少CPU和I/O操作。

3. 數(shù)據(jù)條帶化

如果一個(gè)表的記錄條數(shù)超過一定的規(guī)模,那么最基本的DB2數(shù)據(jù)庫應(yīng)用系統(tǒng)性能查詢操作也會(huì)受到影響,需要將該表根據(jù)日期水平劃分,把最近、最經(jīng)常用的數(shù)據(jù)和歷史的、不經(jīng)常用的數(shù)據(jù)劃分開來,或是根據(jù)地理位置、部門等等進(jìn)行劃分。

還有一種劃分方式――垂直劃分,即把一個(gè)屬性列很多的表分割成好幾個(gè)小表,比如把經(jīng)常用到的屬性放在一個(gè)表里,不經(jīng)常用到的屬性放在另一個(gè)表里,這樣可以加快表的掃描,提高效率。

4. 選擇數(shù)據(jù)類型

對(duì)每一屬性選擇什么樣的數(shù)據(jù)類型很大程度上依據(jù)表的要求,但是在不違背表要求的前提下,選擇適當(dāng)?shù)臄?shù)據(jù)類型可以提高系統(tǒng)性能。比如有text列存放一本書的信息,用BLOB而不是character(1024),BLOB存放的是指針或者文件參照變量,真正的文本信息可以放在數(shù)據(jù)庫之外,從而減少數(shù)據(jù)庫存儲(chǔ)空間,使得程序運(yùn)行的速度提高。DB2提供了UDT(User Defined Datatypes)功能,用戶可以根據(jù)自己的需要定義自己的數(shù)據(jù)類型。

5. 選擇索引

索引是DB2數(shù)據(jù)庫中重要的數(shù)據(jù)結(jié)構(gòu),它的根本目的就是為了提高查詢效率。現(xiàn)在大多數(shù)的數(shù)據(jù)庫產(chǎn)品都采用IBM最先提出的ISAM索引結(jié)構(gòu)。使用索引可以快速、直接、有序的存取數(shù)據(jù)。索引的建立雖然加快了查詢,另一方面卻將低了數(shù)據(jù)更新的速度,因?yàn)樾聰?shù)據(jù)不僅要增加到表中,也要增加到索引中。另外,索引還需要額外的磁盤空間和維護(hù)開銷。因此,要合理使用索引:

在經(jīng)常進(jìn)行連接,但是沒有指定為外鍵的屬性列上建立索引。

在頻繁進(jìn)行排序或分組(即進(jìn)行g(shù)roup by或order by操作)的列上建立索引。按索引來排序或分組,可以提高效率。

在條件表達(dá)式中經(jīng)常用到的不同值較多的列上建立檢索,在不同值少的列上不要建立索引。

如果待排序的列有多個(gè),可以在這些列上建立復(fù)合索引(compound index),即索引由多個(gè)字段復(fù)合而成。

以上的相關(guān)內(nèi)容就是對(duì)DB2數(shù)據(jù)庫應(yīng)用系統(tǒng)性能優(yōu)化深入探究的介紹,望你能有所收獲。

【編輯推薦】

  1. DB2基本操作指令30條中的前十條操作指令
  2. DB2數(shù)據(jù)庫為單個(gè)會(huì)話鎖定“竅門”
  3. 快速掌握DB2數(shù)據(jù)移動(dòng)的操作技巧
  4. DB2建立database Partition的點(diǎn)滴
  5. DB2數(shù)據(jù)庫備份成功與否的正確驗(yàn)證方式描述
責(zé)任編輯:佚名 來源: 51CTO
相關(guān)推薦

2010-08-26 15:48:21

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

2010-08-09 13:22:40

DB2應(yīng)用系統(tǒng)

2009-02-26 09:34:16

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

2010-08-17 17:29:06

DB2性能優(yōu)化

2011-03-02 17:56:40

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

2010-08-17 09:11:42

DB2數(shù)據(jù)庫備份性能

2010-08-04 15:59:29

2010-08-12 09:49:51

優(yōu)化DB2數(shù)據(jù)庫備份

2011-03-21 09:51:04

DB2性能優(yōu)化

2010-08-27 11:03:44

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

2010-08-27 10:20:11

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

2010-07-28 14:07:51

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

2011-03-11 16:02:03

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

2011-05-27 16:00:10

DB2

2011-03-25 14:07:12

IBMDB2數(shù)據(jù)庫數(shù)據(jù)移動(dòng)

2010-08-11 17:24:13

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

2010-08-02 08:40:43

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

2011-03-14 17:03:21

DB2數(shù)據(jù)庫性能監(jiān)控

2015-10-23 16:32:29

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

2011-04-08 15:00:20

DB2數(shù)據(jù)庫
點(diǎn)贊
收藏

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