物化檢視有哪些型別?
物化檢視建立語句中的SELECT子句表示物化檢視要包含的資料。一些限制條件限制了可以定義的內容,並且可以將多個表連線在一起。SELECT子句中可以包含多個元素,包括檢視、內聯檢視(SELECT語句FROM子句中的子查詢)、子查詢和物化檢視,這些元素都可以連線或插入。
物化檢視的各種型別如下:
包含聚合的物化檢視 − 在資料倉庫中,物化檢視通常包含聚合。為了能夠快速更新,SELECT列表必須包含所有GROUP BY列(如果存在),並且應該對某些聚合列進行COUNT(*)和COUNT(column)操作。
查詢中引用的所有表上都應該存在物化檢視日誌。真正的聚合函式是SUM、COUNT(x)、COUNT(*)、AVG、VARIANCE、STDDEV、MIN和MAX,並且要聚合的解釋可以是一些SQL值表示式。
僅包含連線的物化檢視 − 一些物化檢視僅包含連線而不包含聚合,其中生成的物化檢視將銷售表連線到時間表和客戶表。建立這種型別的物化檢視的好處是將預先計算昂貴的連線。
對僅包含連線的物化檢視的快速更新適用於對基表進行任何型別的DML操作之後(直接路徑或常規的INSERT、UPDATE或DELETE)。僅包含連線的物化檢視可以表示為ON COMMIT或ON DEMAND重新整理。如果是ON COMMIT,則在對物化檢視的分析表執行DML操作的事務提交時實現重新整理。
如果物化檢視只包含連線,則每個表的ROWID列(以及FROM列表中多次出現的表的每個例項)都應該出現在物化檢視的SELECT列表中。
如果物化檢視的FROM子句中包含遠端表,則FROM子句中的所有表都應放在同一站點上。此外,對於包含遠端表的物化檢視,不提供ON COMMIT重新整理。物化檢視的每個詳細表都應該在遠端站點上存在物化檢視日誌,並且ROWID列應該出現在物化檢視的SELECT列表中。
巢狀物化檢視 − 巢狀物化檢視是一個物化檢視,其描述位於另一個物化檢視上。巢狀物化檢視可以引用資料庫中的不同關係,包括引用物化檢視。
在資料倉庫中,它通常可以在單個連線上建立一些聚合檢視(例如,沿多個維度的彙總)。增量支援這些不同的物化聚合檢視可能需要很長時間,因為必須多次實現基本連線。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP