這篇文章主要介紹了PostgreSQL物化視圖(materialized view)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
1、創(chuàng)建視圖
CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name
[ (column_name [, ...] ) ]
[ WITH ( storage_parameter [= value] [, ... ] ) ]
[ TABLESPACE tablespace_name ]
AS query
[ WITH [ NO ] DATA ]
2、刪除視圖
DROP MATERIALIZED VIEW table_name
3、創(chuàng)建索引
CREATE INDEX idx_index_name ON table_name USING index(column);
4、手動刷新視圖
REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name
[ WITH [ NO ] DATA ]
物化視圖的創(chuàng)建機制和mysql的view表是一樣的,直接從對應(yīng)表查詢相關(guān)信息,但是物化視圖的查詢和普通表是一樣的,相當于一個緩存機制,將復(fù)雜的查詢結(jié)果存放在物化視圖中,但每次需要refresh操作更新新的數(shù)據(jù)進去,適用于對數(shù)據(jù)實時性不是特別高的需求,版本是PostgreSQL 9.3之后才有的,在9.3版本刷新視圖的時候不可進行查詢工作,在9.4版本之后,加上CONCURRENTLY 參數(shù)可支持讀時查詢,但是必須有索引且刷新速度會變慢(用時間換取查詢鎖)。目前還不支持增量查詢。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- PostgreSQL 更新視圖腳本的注意事項說明
- 使用PostgreSQL為表或視圖創(chuàng)建備注的操作
- PostgreSQL教程(十六):系統(tǒng)視圖詳解
- PostgreSQL 修改視圖的操作