zoukankan      html  css  js  c++  java
  • PostgreSQL物化视图(materialized view)

    1、创建视图

        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、创建索引

    CREATE INDEX idx_index_name ON table_name USING index(column);
    

    4、手动刷新视图

     REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name
        [ WITH [ NO ] DATA ]
    

    物化视图的创建机制和mysql的view表是一样的,直接从对应表查询相关信息,但是物化视图的查询和普通表是一样的,相当于一个缓存机制,将复杂的查询结果存放在物化视图中,但每次需要refresh操作更新新的数据进去,适用于对数据实时性不是特别高的需求,版本是PostgreSQL 9.3之后才有的,在9.3版本刷新视图的时候不可进行查询工作,在9.4版本之后,加上CONCURRENTLY 参数可支持读时查询,但是必须有索引且刷新速度会变慢(用时间换取查询锁)。目前还不支持增量查询。

      

  • 相关阅读:
    [Leetcode] Two Sum
    [Leetcode] 4Sum
    [Leetcode] Word Break
    [Leetcode] Evaluate Reverse Polish Notation
    [Leetcode] Distinct Subsequences
    [Leetcode] Triangle
    [Leetcode] Single Number II
    [Leetcode] Convert Sorted Array to Binary Search Tree
    一起手写吧!Promise!
    一起手写吧!sleep函数!
  • 原文地址:https://www.cnblogs.com/guoxueyuan/p/8623332.html
Copyright © 2011-2022 走看看