人大金仓数据库KingbaseES 物化视图介绍

关键字:物化视图、人大金仓、KingbaseES、

一、物化视图概述

物化视图是KingbaseES中的一种特殊对象,用于存储查询结果的物理副本,并可以周期性地进行更新。与简单视图不同,物化视图将数据实际存储在数据库中,因此可以提供更快的查询性能。创建物化视图时,需要指定一个查询,该查询将用于填充物化视图。之后,可以通过REFRESH MATERIALIZED VIEW命令来更新物化视图的内容。物化视图可以用于优化复杂查询的性能,提高系统的响应速度。

二、创建物化视图

KingbaseES可以使用CREATE MATERIALIZED VIEW语句来创建视图

CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] name
AS query [ WITH [ NO ] DATA ];

其中,IF NOT EXISTS 可以避免重复创建,name是物化视图的名称,query是物化视图的查询语句,WITH DATA表示创建时填充物化视图中的数据,WITH NO DATA表示创建时不填充数据,此时无法查询物化视图中的数据,需要执行REFRESH MATERIALIZED VIEW命令来更新物化视图的内容。

这里我们创建一个物化视图,包含员工的统计信息

CREATE MATERIALIZED VIEW emp_stat_mv
AS
SELECT d.department_name, j.job_title, count(*)
FROM employees e
JOIN departments d ON d.department_id = e.department_id
JOIN jobs j ON j.job_id = e.job_id
GROUP BY d.department_name, j.job_title;

物化视图emp_stat_mv包含了按照部门和职位统计的员工数量,我们直接查询emp_stat_mv,就可以获得员工统计信息

SELECT *
FROM emp_stat_mv
ORDER BY department_name;

department_name |job_title |count|
----------------+-------------------------------+-----+
Accounting |Public Accountant | 1|
Accounting |Accounting Manager | 1|
Administration |Administration Assistant | 1|
Executive |Administration Vice President | 2|
Executive |President | 1|

物化视图可以像表一样支持索引,实现约束和查询优化。例如,我们为emp_stat_mv创建了一个唯一索引:

CREATE UNIQUE INDEX uk_emp_stat_mv ON emp_stat_mv(department_name, job_title);

三、刷新物化视图

KingbaseES物化视图不会自动刷新数据,需要手动执行REFRESH MATERIALIZED VIEW命令

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

CONCURRENTLY可以支持刷新物化视图时其他连接的并发读取。使用该选项的前提是物化视图上至少存在一个唯一索引,而且不能是表达式索引或者部分索引CONCURRENTLY 和WITH NO DATA选项不能一起使用。未填充数据的物化视图刷新时不支持CONCURRENTLY选项。

定期刷新物化视图

REFRESH MATERIALIZED VIEW CONCURRENTLY emp_stat_mv;

清空物化视图中数据

REFRESH MATERIALIZED VIEW emp_stat_mv WITH NO DATA;

四、修改物化视图

ALTER MATERIALIZED VIEW语句可以修改物化视图的一些属性

ALTER MATERIALIZED VIEW [ IF EXISTS ] name
RENAME [ COLUMN ] column_name TO new_column_name;

ALTER MATERIALIZED VIEW [ IF EXISTS ] name
RENAME TO new_name;

ALTER MATERIALIZED VIEW [ IF EXISTS ] name
SET SCHEMA new_schema;

第一个语法用于修改物化视图的字段名称,第二个语法用于修改物化视图的名称,第三个语言用于修改物化视图所在的模式

五、删除物化视图

KingbaseES 使用DROP MATERIALIZED VIEW语句来删除物化视图

DROP MATERIALIZED VIEW [ IF EXISTS ] name [ CASCADE | RESTRICT ];

其中,IF EXIXTS可以避免删除一个不存在的物化视图,CASCADE表示级联删除依赖于该物化视图的对象,RESTRICT表示如果存在依赖对象则提示错误

例如:

DROP MATERIALIZED VIEW emp_stat_mv2;

参考资料

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以通过以下步骤下载人大金仓数据库KingbaseES)的Windows安装程序: 1. 访问人大金仓官方网站或者相关下载网站。 2. 在网站上找到人大金仓数据库的下载页面。 3. 在下载页面上找到Windows版本的安装程序,并点击下载。 4. 下载完成后,双击安装程序进行安装。 请注意,具体的下载步骤可能因为网站的不同而有所差异。建议您在下载前先确认您所使用的网站的可信度,并确保下载的是官方或可信的安装程序。 引用\[1\]: 人大金仓数据库管理系统KingbaseES 是北京人大金仓信息技术股份有限公司自主研制开发的具有自主知识产权的通用关系型数据库管理系统。金仓数据库主要面向事务处理类应用,兼顾各类数据分析类应用,可用做管理信息系统、业务及生产系统、决策支持系统、多维数据分析、全文检索、地理信息系统、图片搜索等的承载数据库。\[1\] 引用\[2\]: 金仓数据库管理系统\[简称:KingbaseES\]是北京人大金仓信息技术股份有限公司(简称人大金仓)自主研发的、具有自主知识产权的商用关系型数据库管理系统(DBMS)。该产品面向事务处理类应用,兼顾各类数据分析类应用,可用做信息管理系统、业务及生产系统、决策支持系统、全文检索、地理信息系统等的承载数据库。\[2\] 引用\[3\]: 文章目录 1、KingbaseES是什么数据库2、KingbaseES数据库产品优势3、KingbaseES安装包下载地址4、KingbaseES数据库安装1、windows安装KingbaseES1、图形化界面安装2、命令行安装3、静默安装 2、Linux安装KingbaseES1、图形化安装2、命令行安装3、静默安装\[3\] #### 引用[.reference_title] - *1* [人大金仓数据库 Windows安装教程 -kingbase8R6](https://blog.csdn.net/qq_25094817/article/details/122807581)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [猿创征文 | 国产数据库人大金仓数据库详解安装和使用](https://blog.csdn.net/flq18210105507/article/details/127276704)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值