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

聚集目標(biāo)表在DB2中的關(guān)鍵作用分析

數(shù)據(jù)庫(kù)
聚集目標(biāo)表是一個(gè)只讀表,它使用SQL列函數(shù),如sum通機(jī)函數(shù)或者avg求平均值函數(shù)來(lái)計(jì)算源表中的全部?jī)?nèi)容或者追蹤源表數(shù)據(jù)的最新更改。下文中將為大家詳細(xì)分析聚集目標(biāo)表在DB2中的關(guān)鍵作用。

導(dǎo)讀:DB2數(shù)據(jù)庫(kù)中有一種比較特殊的表,叫做聚集目標(biāo)表。這個(gè)聚集目標(biāo)表跟視圖類似,都是只讀的,是對(duì)基礎(chǔ)表的統(tǒng)計(jì)。但是在本質(zhì)上是不同的,即隨著時(shí)間的推移,系統(tǒng)會(huì)向聚集目標(biāo)表中追加行。也就是說(shuō),表中的數(shù)據(jù)是在數(shù)據(jù)庫(kù)中實(shí)際存在的,而不是像視圖一樣是一種虛表??梢娋奂繕?biāo)表能夠起著視圖類似的作用,但是又可能保證數(shù)據(jù)的穩(wěn)定性。

一、了解DB2數(shù)據(jù)庫(kù)中的CD表。

  在分析具體目標(biāo)表對(duì)DB2數(shù)據(jù)庫(kù)的作用之前,筆者認(rèn)為首先需要了解一下CD表。這也是DB2數(shù)據(jù)庫(kù)中一種特有的標(biāo)。聚集目標(biāo)表就是在這個(gè)CD表的基礎(chǔ)上建立起來(lái)的。在DB2數(shù)據(jù)庫(kù)中,可以實(shí)現(xiàn)類似其他數(shù)據(jù)庫(kù)的數(shù)據(jù)復(fù)制功能。即可以在源數(shù)據(jù)庫(kù)與預(yù)訂集成員之間進(jìn)行數(shù)據(jù)的復(fù)制與同步,以生成數(shù)據(jù)庫(kù)副本。有時(shí)候在預(yù)訂集成員中,可能需要追蹤數(shù)據(jù)源表的更改,此時(shí)就需要使用這個(gè)CD表。DB2的官方文檔對(duì)于CD表是這么定義的:對(duì)于為DB2數(shù)據(jù)庫(kù)服務(wù)器上的更改捕獲復(fù)制而注冊(cè)的每個(gè)用戶表,都有一個(gè)對(duì)應(yīng)的更改數(shù)據(jù)表。簡(jiǎn)單的說(shuō),這個(gè)CD表,又稱之為更改數(shù)據(jù)表,就是用來(lái)幫助數(shù)據(jù)庫(kù)管理員追蹤源表中更改的數(shù)據(jù)(包括更新、刪除、插入等等)。某種應(yīng)用程序會(huì)讀取在更改數(shù)據(jù)表中已經(jīng)遞交的行,并將他們復(fù)制到映射至已經(jīng)注冊(cè)的表的任何目標(biāo)表中。對(duì)于剛接觸DB2數(shù)據(jù)庫(kù)的管理人員來(lái)說(shuō),只需要知道,這個(gè)CD表(數(shù)據(jù)更新表)中,就是用來(lái)分析、追蹤源表中用戶所做的更改。

二、聚集目標(biāo)表的類型與差異分析。

  在DB2數(shù)據(jù)庫(kù)中,聚集表主要有兩種類型,分別為基本聚集表與更改聚集表。這兩種表雖然都是聚集表,但是有很大的差異。作為數(shù)據(jù)庫(kù)管理員必須了解他們之間的差異,并在實(shí)際工作中,根據(jù)用戶的需求來(lái)選擇合適的聚集目標(biāo)表。簡(jiǎn)單的說(shuō),這兩種目標(biāo)表的差異主要在于統(tǒng)計(jì)的源表不同。而源表的數(shù)據(jù)不同,最終導(dǎo)致兩種聚集表的結(jié)果有天壤之別。

  基本聚集表其統(tǒng)計(jì)的是數(shù)據(jù)庫(kù)的基本表中的內(nèi)容。數(shù)據(jù)庫(kù)之所以要采用基本聚集表,主要是用來(lái)定期追蹤特定表中數(shù)據(jù)的狀態(tài)。如現(xiàn)在有一張客戶信息表,表中記錄著企業(yè)當(dāng)前的所有客戶信息,包括新增加的客戶、已經(jīng)終止交易的客戶等等。利用聚集目標(biāo)表的sum函數(shù)或者avg函數(shù)就可以實(shí)現(xiàn)對(duì)這張表中數(shù)據(jù)的追蹤分析。如現(xiàn)在用戶需要知道某個(gè)年度每個(gè)月份的實(shí)際有效的客戶數(shù)量,則就可以按月來(lái)計(jì)算源表中的平均行數(shù)(利用avg函數(shù)來(lái)是想)然后將結(jié)果存儲(chǔ)在基本聚集表中。由于基本聚集表中的數(shù)據(jù)雖然是來(lái)自于源表,但是是數(shù)據(jù)庫(kù)中實(shí)際存在的記錄。為此在下一次運(yùn)算的時(shí)候,不會(huì)隨著源表中內(nèi)容的更改,而影響到原有的統(tǒng)計(jì)結(jié)果。這個(gè)特性就是聚集目標(biāo)表與視圖的最大差別。由于前幾個(gè)月的統(tǒng)計(jì)結(jié)果不會(huì)隨著源表中數(shù)據(jù)的更改而改變,如此的話,用戶就可以用來(lái)統(tǒng)計(jì)、分析每個(gè)月用戶數(shù)量的變化情況。

 

  不過這個(gè)基本聚集表有一個(gè)很大的缺陷,就是不能夠反映出源表中數(shù)據(jù)的更改情況。如在7月份,企業(yè)增加了5個(gè)新客戶,但是同時(shí)也終止了5個(gè)新客戶。此時(shí)在基本聚集表中,反映的7月份有效客戶數(shù)量跟6月份是相同的。但是實(shí)際情況是,雖然最后的結(jié)果是相同的,但是客戶明細(xì)發(fā)生了變化。由于基本聚集表只是對(duì)源表進(jìn)行簡(jiǎn)單的sun與avg等統(tǒng)計(jì),所以不能夠追蹤到這些變化。這就是基本聚集表的特點(diǎn),也是其最大的缺陷之一。

  為了彌補(bǔ)基本聚集表的這個(gè)缺陷,在DB2數(shù)據(jù)庫(kù)中又提出了更改聚集表的概念。更改聚集表與基本聚集表最大的差異就是他們所統(tǒng)計(jì)的源表是不同的。基本聚集表所統(tǒng)計(jì)的源表是基本數(shù)據(jù)表,如客戶信息表等等。而更改聚集表所統(tǒng)計(jì)的源表是使用上面談到的CD(更改數(shù)據(jù)表)表中的內(nèi)容,而不是采用源表中的內(nèi)容。而因?yàn)楦臄?shù)據(jù)表記錄了某張?jiān)幢淼淖兏闆r,所以這個(gè)更改聚集表就能夠反映出源表中數(shù)據(jù)的具體變化情況。如在上面這個(gè)例子中,用戶不僅僅只滿足與統(tǒng)計(jì)當(dāng)前每月的有效客戶數(shù)量,還需要了解每個(gè)月得到的客戶數(shù)量與書去的客戶數(shù)量。因?yàn)閷?duì)于企業(yè)來(lái)說(shuō),得到一個(gè)新客戶的成本很大。從某種角度來(lái)說(shuō),企業(yè)寧愿千方百計(jì)的留住現(xiàn)有的客戶,也不愿意再去開發(fā)新的客戶。也就是說(shuō),如果企業(yè)一邊在增加新的客戶,一邊又不斷的在失去老客戶,那么對(duì)于企業(yè)來(lái)說(shuō)這是一種失敗的經(jīng)營(yíng)方式。為此,不少企業(yè)一方面在追求客戶的數(shù)量,另一方面可能更加的關(guān)注老客戶的流失。筆者已經(jīng)碰到過不少的企業(yè)用戶,他們非常的關(guān)注與當(dāng)月客戶流失數(shù)量與新增加客戶的比例。如果新增加客戶的數(shù)量大于客戶的流失數(shù)量,那么銷售人員不僅得不到應(yīng)有的獎(jiǎng)勵(lì),最后還有可能受到懲罰。所以從這種角度來(lái)講,這個(gè)需求就比統(tǒng)計(jì)客戶的有效數(shù)量還要來(lái)得重要。要實(shí)現(xiàn)這個(gè)需求,就需要用到更改聚集表。更改聚集表會(huì)根據(jù)客戶信息表對(duì)應(yīng)的CD表,來(lái)追蹤客戶信息表中數(shù)據(jù)的變化情況。如會(huì)統(tǒng)計(jì)當(dāng)月客戶信息表中新顧客增加的數(shù)量(表中有了insert插入操作)與老客戶失去的數(shù)量(表中有了刪除操作)。通過這個(gè)手段,就可以統(tǒng)計(jì)新老客戶的變化情況,從而為企業(yè)決策提供數(shù)據(jù)上的支持。

三、基本聚集表與更改聚集表相互依存。

  從以上的分析中可以看出,雖然兩個(gè)類型的聚集目標(biāo)表所依據(jù)的基礎(chǔ)表不同,他們產(chǎn)生的結(jié)果也有天壤之別,但是他們并不是對(duì)立的。從用戶的需求來(lái)講,這兩個(gè)類型的聚集目標(biāo)表是相互依存的。如企業(yè)可能需用同時(shí)統(tǒng)計(jì)每個(gè)月有效客戶數(shù)量的變化情況與新老客戶的變化情況,此時(shí)就需要同時(shí)用到這兩個(gè)基本目標(biāo)表。

  其實(shí)筆者有時(shí)候更喜歡從另一個(gè)角度來(lái)考慮這兩個(gè)表的差異。對(duì)于基本聚集表來(lái)說(shuō),其與源表的關(guān)系比較親,即源表-基本聚集表,中間沒有任何的中介。而對(duì)于更改聚集表來(lái)說(shuō),其源表與更改聚集表之間的關(guān)系就比較遠(yuǎn),中介夾著一個(gè)CD數(shù)據(jù)更改表。他們的關(guān)系就變?yōu)榱嗽幢?CD數(shù)據(jù)更改表-更改聚集表。正是因?yàn)橛辛薈D數(shù)據(jù)更改表在中間起了一個(gè)過濾的作用,所以才導(dǎo)致更改聚集表與基本聚集表他們之間結(jié)果上的差異。由于CD數(shù)據(jù)更改表保存了源表中的數(shù)據(jù)的變化情況,才使得更改聚集表能夠統(tǒng)計(jì)分析出源表中數(shù)據(jù)的變化情況。所以,我們可以把基本聚集表當(dāng)作是兩層結(jié)構(gòu),而將更改聚集表當(dāng)作是三層結(jié)構(gòu)。從而可能更加容易理解這兩個(gè)類型的聚集目標(biāo)中的差異。在實(shí)際工作中,也更容易選擇。在何時(shí)的情況下,選擇使用合適的聚集目標(biāo)表。不過在開發(fā)一些套裝軟件中,筆者喜歡同時(shí)使用他們。最終讓用戶選擇到底使用哪個(gè)聚集目標(biāo)表。

通過上文中的詳細(xì)分析,大家現(xiàn)在應(yīng)該都已經(jīng)了解了聚集目標(biāo)表在DB2中的關(guān)鍵作用,本文比較適合初學(xué)者學(xué)習(xí),希望大家都能夠從中收獲。

【編輯推薦】

  1. 如何使用DB2條件處理器處理SQL錯(cuò)誤
  2. DB2數(shù)據(jù)庫(kù)初始調(diào)優(yōu)和設(shè)計(jì)方面的考慮
  3. 分析DB2數(shù)據(jù)庫(kù)性能理解的主要誤區(qū)
  4. DB2性能優(yōu)化準(zhǔn)則
責(zé)任編輯:迎迎 來(lái)源: IT專家網(wǎng)
相關(guān)推薦

2010-07-28 11:20:51

DB2 聚集目標(biāo)表

2010-09-01 11:39:17

DB2聚集目標(biāo)表

2010-07-28 13:38:34

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

2010-11-03 15:35:27

DB2修改表

2024-03-01 16:41:04

人工智能數(shù)字化轉(zhuǎn)型機(jī)器學(xué)習(xí)

2010-08-26 11:05:39

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

2013-01-18 10:44:30

IBMdW

2010-11-03 15:49:32

DB2刪除表

2020-08-24 22:25:07

區(qū)塊鏈物聯(lián)網(wǎng)經(jīng)濟(jì)物聯(lián)網(wǎng)

2010-09-01 14:46:16

DB2表空間

2010-11-01 16:07:22

DB2表空間

2010-09-01 09:40:33

DB2函數(shù)OLAP

2023-03-22 17:32:46

2023-03-14 15:49:35

2010-11-01 11:13:57

DB2表管理

2010-11-01 12:11:43

DB2表空間

2023-09-05 17:00:56

人工智能物流

2010-09-06 13:19:35

DB2 9.5

2010-11-02 14:37:58

DB2臨時(shí)表定義

2010-09-01 11:17:29

DB2備份
點(diǎn)贊
收藏

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