物化视图功能验证

news2024/12/24 8:58:55

         物化视图(Materialized View)和视图(View)类似,也是一个视图名字对应一个SQL查询查询语句。不同之处在于:物化视图定义时使用了额外的关键字materialized, 它把结果集保存在起来,查询的时候直接读取保存的结果集,而不必扫描原始表。物化视图的结果集(即物化视图自己的数据)的存储和扫描方式和普通表的方式相同。

创建测试表

---- 创建测试表
drop table if exists DIM_OFFER;
create table DIM_OFFER
(
    OFFER_ID numeric(20) DEFAULT NULL,
    OFFER_TYPE varchar(100) DEFAULT NULL,
    PAY_TYPE varchar(2) DEFAULT NULL,
    TRADEMARK varchar(20) DEFAULT NULL,
    BUSI_TYPE varchar(6) DEFAULT NULL,
    OFFER_PLAN_TYPE varchar(6) DEFAULT NULL,
    PROD_SPECID varchar(20) DEFAULT NULL,
    PACKED_FLAG varchar(6) DEFAULT NULL,
    IS_GLOBAL varchar(6) DEFAULT NULL,
    DAILY_EFFECT varchar(6) DEFAULT NULL,
    STOP_DISPOSE varchar(6) DEFAULT NULL,
    MODIFY_DATE varchar(20) DEFAULT NULL,
    MODIFIER varchar(20) DEFAULT NULL,
    CREATE_DATE varchar(20) DEFAULT NULL,
    CREATER varchar(20) DEFAULT NULL,
    DEL_FLAG varchar(2) DEFAULT NULL,
    PRIMARY KEY(OFFER_ID)
);

select create_reference_table('DIM_OFFER');

创建物化视图

---- 创建物化视图 

SELECT run_command_on_workers($cmd$
    drop MATERIALIZED VIEW if exists dim_offer_v;
    create MATERIALIZED VIEW dim_offer_v 
    AS 
    select OFFER_ID,OFFER_TYPE,PAY_TYPE,TRADEMARK,BUSI_TYPE,OFFER_PLAN_TYPE,PROD_SPECID from DIM_OFFER;
$cmd$);

创建索引

SELECT run_command_on_workers($cmd$
    create unique index index_dim_offer_v_offer_id ON dim_offer_v ( OFFER_ID );
$cmd$);

加载数据

---- 导入数据

\COPY DIM_OFFER FROM '/home/postgres/work/Predeal/data/bak/offer.20221210.csv' WITH (DELIMITER ',');

刷新物化视图

---- 刷新物化视图
SELECT run_command_on_workers($cmd$
    REFRESH MATERIALIZED VIEW concurrently dim_offer_v with data;
$cmd$);

删除数据后视图更新验证

删除一条数据

更新视图

查询视图数据是否删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/702196.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣单调栈专题 739. 每日温度 496.下一个更大元素I 503.下一个更大元素II 42. 接雨水 84.柱状图中最大的矩形 步骤及C++实现 总结

文章目录 739. 每日温度496.下一个更大元素 I503.下一个更大元素II方法一 数组拼接方法二 模拟遍历两边nums 42. 接雨水双指针 暴力法双指针优化单调栈 84.柱状图中最大的矩形暴力解法双指针解法单调栈 总结 739. 每日温度 暴力解法,双层for循环,时间复杂…

「完美解决」concrt140.dll丢失怎么恢复(解决方案)

我们平时在打开 Adobe 应用程序、Halo、Forza Horizon 5 等时,可能会遇到找不到 concrt140.dll。因此,这不是特定于某个应用程序的问题。如果没有安装正确的 DLL,应用程序将无法正常工作,因为它们的代码依赖于这些库中编写的代码。…

C++入门笔记--【精简完备】【快速入手】

目录 ​​​​​​​1 C初识 1.1 第一个C程序 1.1.1 创建项目 1.1.2 创建文件 1.1.3 编写代码 1.1.4 运行程序 1.2 注释 1.3 变量 1.4 常量 1.5 关键字 1.6 标识符命名规则 2 数据类型 2.1 整型 2.2 sizeof关键字 2.3 实型(浮点型) 2.4 字…

基于STM32单片机的大棚温度测控系统

目录 基于STM32单片机的大棚温度测控系统一、原理图二、部分代码三、视频演示 基于STM32单片机的大棚温度测控系统 功能: 1.通过LCD屏幕显示温湿度值和上限阈值 2.通过按键完成阈值加减功能 3.通过DHT11完成温湿度采集 4.若实时数据不满足条件,则进行降…

linux curl命令使用教程(curl指令)

文章目录 curl指令介绍curl的历史curl指令的安装Ubuntu/DebianCentOS/RHELFedoramacOSWindows curl使用方法示例使用curl命令注意事项 curl指令介绍 curl是一个用于发送HTTP请求的命令行工具,它支持多种协议,包括HTTP、HTTPS、FTP、SMTP等。curl可以用来…

人工智能:揭示未来科技所带来的革命性变革

目录 引言: 一、人工智能的定义与发展历程: 二、人工智能的应用领域: 三、人工智能对未来的影响: 结论: 引言: 在当今科技快速发展的时代,人工智能(Artificial Intelligence&am…

开展全媒体营销的具体步骤和策略

随着移动互联网的发展和智能手机的普及,网络营销的主战场从PC端向移动端转移,新型的全媒体营销就是在如此的背景下兴起且被广泛应用。全媒体营销强调的是通过多个平台和渠道传播信息,与目标受众进行全方位、多角度的沟通。 企业如何高效开展全…

1σ Random Jitter of SSB for TIE Period

1σ Random Jitter of SSB for TIE & Period ,该章节厘清了jitter基本概念,并给出了对应的表达式。

FineReport学习4

通过按钮控件来实现插入删除行 通过sql公式实现填报联动 设置插入行策略 通过sql实现控件联动

数据结构---------(2)排序

排序 1.选择排序 从待排序的数据中选择最小的元素,将其放在已排序的序列末尾,然后在剩余的数据中再选择最小的元素,放在已排序序列的末尾,以此类推,直到所有的数据都排好序为止。 public static void main(String[…

大数据分析案例-基于KMeans聚类算法对客户进行分群分析

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

【GESP】2023年03月图形化二级 -- 绘制图形

文章目录 绘制图形1. 准备工作2. 功能实现3. 设计思路与实现(1)角色、舞台背景设置a. 角色设置b. 舞台背景设置 (2)脚本编写a. 角色:小猫 4. 评分标准 绘制图形 1. 准备工作 (1) 隐藏默认角色小猫。 2. 功…

【Redis入门】 —— 关于Redis的一点儿知识

💧 【 R e d i s 入门】——关于 R e d i s 的一点儿知识 \color{#FF1493}{【Redis入门】 —— 关于Redis的一点儿知识} 【Redis入门】——关于Redis的一点儿知识💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页…

2023年华中杯数学建模B题小学数学应用题相似性度量及难度评估解题全过程文档及程序

2023年华中杯数学建模 B题 小学数学应用题相似性度量及难度评估 原题再现 某 MOOC 在线教育平台希望能够进行个性化教学,实现用户自主学习。在用户学习时,系统从题库中随机抽取若干道与例题同步的随堂测试题,记录、分析学生的学习和答题信息…

深入Vite:再谈ESM的高阶特性

谈到前端模块化的发展历史,就一定不会漏掉ESM,除此之外,还有大家熟知的CommonJS、AMD、CMD以及ES6等。目前, ESM 已经逐步得到各大浏览器厂商以及 Node.js 的原生支持,正在成为主流前端模块化方案。 而 Vite 本身就是…

chatgpt赋能python:Python除零错误:原因,解决办法和实践建议

Python 除零错误:原因,解决办法和实践建议 介绍 Python 作为一门广泛使用的高级编程语言,它的强大之处就体现在它的简洁性、可读性和易用性上。但是在实践中,有时候我们会遇到一些让我们不得不头痛的问题,其中之一就…

(0017) H5-vue创建项目vue init webpack

1、初始化项目 1、vue 命令讲解 vue list &#xff1a;查看可以基于那些模板创建vue应用vue init <template-name> <project-name>init&#xff1a;表示要用vue-cli来初始化项目 <template-name>&#xff1a;表示模板名称&#xff0c;vue-cli官方提供的5种…

【LeetCode】218. 天际线问题

218. 天际线问题&#xff08;困难&#xff09; 思路 题意转化 完整思路分析 multiset的使用 multiset 是关联容器的一种&#xff0c;是排序好的集合&#xff08;元素默认升序&#xff09;&#xff0c;并且允许有相同的元素。 不能直接修改 multiset 容器中元素的值。因…

柯美658 558 458 308 554 364等报错故障代码C2152,C2153,C2154,C2155,C2156 C2253.C2254维修

代码基本都是转印带故障代码,转印带有两个传感器是检测转印带工作和没有工作时加压有没有归位的,传感器基本不会坏,更多的情况是因为转印带上的废粉落在了传感器上导致传感器故障,清洁即可。

剑指offer--JZ24 反转链表

反转链表需要三个指针&#xff0c;一个保留前一个结点的指针&#xff0c;一个后移指针&#xff0c;一个当前指针。C语言版本代码如下&#xff1a; #include <stdio.h> #include <stdlib.h>// 单链表节点结构定义 struct ListNode {int val;struct ListNode* next;…