DB2 730

keeking發表於2010-04-14

MQT

  DB2物化查詢表
  這種物化查詢表中的資料是由使用者維護的。只有 REFRESH DEFERRED 物化查詢表可以定義為 MAINTAINED BY USER。不能對使用者維護的 MQT 發出 REFRESH TABLE 語句(用於系統維護的 MQT)。但是,使用者維護的 MQT 卻 允許對它們執行 insert、update 或 delete 操作。

MQT,或者叫summary table,stage table,提供了強有力的方法來提高複雜查詢的響應時間,特別是對包含如下操作的查詢:對一個或多個維度的聚合操作,如SUM,Count等;在一組表之間的join和聚合操作。MQT的基本原理是對以上特別需要耗費資源的操作事先計算出來並儲存到單獨的表裡,這樣當查詢的時候優化器就會引導相關查詢到MQT中查詢,由於MQT表裡面已經包含了需要聚集和join的資料,資料量有了大幅度減少,因此能夠大大提高效能。

sequence

  Sequence是資料庫系統按照一定規則自動增加的數字序列。這個序列一般作為代理主鍵(因為不會重複),沒有其他任何意義。
  Sequence是資料庫系統的特性,有的資料庫有Sequence,有的沒有。比如Oracle、DB2、PostgreSQL資料庫有Sequence,MySQL、SQL Server、Sybase等資料庫沒有Sequence。
  根據我個人理解,Sequence是資料中一個特殊存放等差數列的表,該表受資料庫系統控制,任何時候資料庫系統都可以根據當前記錄數大小加上步長來獲取到該表下一條記錄應該是多少,這個表沒有實際意義,常常用來做主鍵用
----------------------------------------------------------------------------------------------------
Trigger觸發順序

Oracle fires multiple triggers in an unspecified, random order, if more than one trigger of the same type exists for a given statement; that is, triggers of the same type for the same statement are not guaranteed to fire in any specific order.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7899089/viewspace-659763/,如需轉載,請註明出處,否則將追究法律責任。