基于物化视图创建分区(分区的物化视图)
基于物化视图创建分区
物化视图是实际存在的物理表,支持触发器,因此堆表可以使用的方法,物化视图同样适用。有时候对于数据量大的物化视图而言,可以用分区的技术,减少读取数据的范围从而加速查询的速度
1:创建穿件源表插入数据
SQL> create table t3(id number,day_date date);
Table created.
create procedure p6 is
i number;
begin
for i in 1 .. 1000 loop
insert into t3 values(i,trunc(sysdate+i));
end loop;
commit;
SQL> exec p6();
PL/SQL procedure successfully completed.
2:创建物化视图日志
SQL> create MATERIALIZED VIEW log on t3;
create MATERIALIZED VIEW log on t3
*
ERROR at line 1:
ORA-12014: table 'T3' does not contain a primary key constraint
SQL> alter table t3 add constraint pk_id primary key(id);
Table altered.
SQL> create MATERIALIZED VIEW log on t3 with primary key including new values;
Materialized view log created.
Note:可以看到物化视图是基于主键
3:创建分区的物化视图
SQL> create materialized view mv_t3
2 partition by range(day_date)
3 interval(numtoyminterval(1, 'month'))
4 (
5 PARTITION P1 VALUES LESS THAN (TO_DATE('20170101', 'YYYYMMDD'))
6 ) tablespace users
7 nologging
8 build immediate refresh FAST
9 WITH PRIMARY KEY
10 on demand
11 enable query rewrite
12 as SELECT id,day_date from t3;
Materialized view created.
Note:采用interval自动的间隔分区,如果分区的间隔是Year,Month,用numtoyminterval函数。如果是day,minute,second,用numtodsinterval函数
4:查看执行计划
SQL> set autotrace on;
SQL> set linesize 300
SQL> select * from mv_t3 where day_date=to_date('20180916','YYYYMMDD');
ID DAY_DATE
---------- ---------
440 16-SEP-18
Execution Plan
----------------------------------------------------------
Plan hash value: 4281692734
------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 22 | 5 (0)| 00:00:01 | | |
| 1 | PARTITION RANGE SINGLE| | 1 | 22 | 5 (0)| 00:00:01 | 22 | 22 |
|* 2 | MAT_VIEW ACCESS FULL | MV_T3 | 1 | 22 | 5 (0)| 00:00:01 | 22 | 22 |
------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("DAY_DATE"=TO_DATE(' 2018-09-16 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
Note
-----
- dynamic sampling used for this statement (level=2)
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
4 consistent gets
0 physical reads
0 redo size
599 bytes sent via SQL*Net to client
523 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> set autotrace off;
Note:可以看到确实用了分区22
基于物化视图创建分区(分区的物化视图)相关推荐
- 无法对视图创建索引,因为该视图未绑定到架构
遇到这个问题,查了一位博主的文章,但是说的不是很详细,在这里说明白一些. 修改此问题 需要在 创建视图语句中加上 with SCHEMABINDING --创建索引视图 create view 视图名 ...
- 数据库视图创建及应用
数据库视图创建及应用 一.视图: 视图是从一个或几个基本表(或视图)导出来的表.它与基本表不同,是一个虚表.数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中.所以一旦基 ...
- SQL Server 数据库 视图创建
SQL Server 数据库 视图创建 视图简介: 视图可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口. 常规视图本身并不存储实际的数据,而仅仅是由SE ...
- ssas如何创建分区_如何基于SSAS信息创建Excel报告
ssas如何创建分区 介绍 (Introduction) In SSAS, when I offer Power BI, Reporting Services, PowerPivot or Share ...
- oracle物化视图trunc,转载:oracle物化视图介绍
-- 创建一个基表SQL>CREATETABLETTT1(AINTPRIMARYKEY,BINT);Tablecreated.-- 以TTT1为基表创建一个可更新的MViewSQL>CRE ...
- 基于FME的水库功能分区生态红线批量处理方案(从文本到gdb)
作者:凡江林 QQ:564438737 项目背景 2017年7月,环境保护部办公厅.发展改革委办公厅共同印发<生态保护红线划定指南>(环办生态[2017]48号). (1)问题描述 ...
- mysql创建表分区详细介绍及示例
mysql创建表分区详细介绍及示例 1. 基本概念 1.1 什么是表分区? 1.2 表分区与分表的区别 1.3 表分区有什么好处? 1.4 分区表的限制因素 2. 如何判断当前MySQL是否支持分区? ...
- Linux文件系统(文件系统分类、创建磁盘分区、LVM)
Linux文件系统 文章目录 Linux文件系统 0 背景 1 文件系统分类 1.1 ext 1.2 ext2 1.3 日志系统 1.3.1 ext3文件系统[2001年] 1.3.2 ext4文件系 ...
- linux parted新建分区表,Parted 创建 GPT 分区
对于磁盘的分区表 MBR与GPT区别. MBR:MBR分区表(即主引导记录)大家都很熟悉,是过去我们使用windows时常用的. 所支持的最大卷:2T,而且对分区有限制:最多4个主分区或3个主分区加一 ...
最新文章
- 删除SQL数据库中事务日志方法
- 阿里大佬告诉我,想学习设计模式,得先学好这些硬核技能
- android---am命令
- 【免费毕设】基于PHP实现的网上留言管理系统的设计(源代码+论文)
- python创建虚拟环境打包_用虚拟环境保存库文件--Python打包-阿里云开发者社区
- [转载] 【python第四天】 注释和缩进
- 【POJ2069HDU3007】模拟退火算法之最小球/圆覆盖
- 《云计算核心技术剖析》读书笔记之一
- 毕业设计 基于大数据的社交平台数据爬虫舆情分析可视化系统
- elementui生产环境图标加载时偶而乱码
- 记一次使用npm命令报错
- C#中调用OCX控件
- 一阶线性电路暂态分析的三要素法
- 常用的前端在线引用JS
- 从零开始的MySQL教程——上
- 控制台忘记mysql登录密码_许久没登录的MYSQL忘记了密码,这样操作不用重装
- android 自定义进度条矩形框,Android 自定义方形进度条
- 敏捷个人俱乐部(北京)线下活动 开始报名了!
- Discuz论坛系统
- Android11vivox21刷机包,vivo X21原版系统刷机包_vivo X21A最新全量升级包更新下载
热门文章
- GHM------Gradient Harmonized Single-stage Detector 从梯度的方向来解决样本不均衡的问题
- 吐血整理一个月——终于把所有Python库整理齐了.....
- txt文本文件数据转ArcGIS中的tif文件
- 非常详尽,多图慎入:Wayland与Weston简介
- 信息学奥赛对大学计算机专业,关于信息学竞赛学习的几大误区,你必须得知道!...
- 技术分享 | ClickHouse StarRocks 使用经验分享
- 深耕模具细分领域20载 德惠创新研发领跑行业
- 【Linux】通过Mac终端连接虚拟机(ssh root@192.168.31.230)
- webpack 的安装与使用
- DM数据库windwos和linux环境单机安装部署