PostgreSQL物化视图(materialized view)过程解析
这篇文章主要介绍了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 参数可支持读时查询,但是必须有索引且刷新速度会变慢(用时间换取查询锁)。目前还不支持增量查询。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
windows下mysql 8.0.12安装步骤及基本使用教程
这篇文章主要为大家详细介绍了windows下mysql 8.0.12安装步骤及基本使用教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2019-08-08Mysql中find_in_set()函数用法详解以及使用场景
前几天在sql查询的时候,想要判断数据库中表的某一列中的值是否在List集合中,接触到了find_in_set的使用,用起来方便快捷,下面这篇文章主要给大家介绍了关于Mysql中find_in_set()函数用法详解以及使用场景的相关资料,需要的朋友可以参考下2023-03-03mybatis+mysql 使用存储过程生成流水号的实现代码
这篇文章主要介绍了mybatis+mysql 使用存储过程生成流水号的实现代码,需要的朋友可以参考下2018-01-01MySQL中distinct与group by之间的性能进行比较
这篇文章主要针对MySQL中distinct与group by之间的性能进行比较,内容比较详细,很直观的能看出比较结果,感兴趣的小伙伴们可以参考一下2015-11-11
最新评论