Oracle提升查询性能之-简单范围分区表的创建

发布时间:2020-08-09 13:30:19 作者:糖果使徒
来源:网络 阅读:1057

分区表的优点:

1.提高查询性能:只需要搜索特定分区,而非整张表,提高了查询速度。

2.节约维护时间:单个分区的数据装载,索引重建,备份,维护远远小于整张表的维护时间。
下面就让我们来创建一张分区表

第一步:为了提高IO的性能创建分区表的专用表空间

SELECT NAME FROM v$datafile;--如果是你熟悉的环境则省略这一步,目的是查看当前文件路径
--创建表空间,如果有专人维护表空间尽量关闭自动增长,长时间无人维护则开启自动增长,AUTOEXTEND ON SIZE
CREATE TABLESPACE partition_p_Name1 DATAFILE '/oradata/orawms/partition_p_Name1.dbf' SIZE 200m AUTOEXTEND OFF;
CREATE TABLESPACE partition_p_Name2 DATAFILE '/oradata/orawms/partition_p_Name2.dbf' SIZE 200m AUTOEXTEND OFF;
CREATE TABLESPACE partition_p_Name3 DATAFILE '/oradata/orawms/partition_p_Name3.dbf' SIZE 200m AUTOEXTEND OFF;
CREATE TABLESPACE partition_p_Name4 DATAFILE '/oradata/orawms/partition_p_Name4.dbf' SIZE 200m AUTOEXTEND OFF;
CREATE TABLESPACE partition_p_Name5 DATAFILE '/oradata/orawms/partition_p_Name5.dbf' SIZE 200m AUTOEXTEND OFF;
CREATE TABLESPACE goods_inf_max DATAFILE '/oradata/orawms/partition_p_max.dbf' SIZE 200m AUTOEXTEND OFF;

第二步:创建表分区

create table partition_tab_Name
(

create_date DATE,
create_man VARCHAR2(64),
modify_date DATE,
modify_man VARCHAR2(64),
create_org VARCHAR2(20),
create_orgseq VARCHAR2(512),
create_role VARCHAR2(50),
fields1 VARCHAR2(200),
fields2 VARCHAR2(200),
fields3 VARCHAR2(200),
fields4 VARCHAR2(200),
fields5 VARCHAR2(200),
fields6 VARCHAR2(200),
fields7 VARCHAR2(200),
fields8 VARCHAR2(200),
fields9 VARCHAR2(200),
fields10 VARCHAR2(200)
)
PARTITION BY RANGE(create_date)
--range(分区字段,这里以创建时间做范围分区)
(
PARTITION partition_p_Name1 VALUES LESS THAN (TO_date('2015-01-01','YYYY-MM-DD')) TABLESPACE partition_p_Name1,
PARTITION partition_p_Name2 VALUES LESS THAN (TO_date('2016-01-01','YYYY-MM-DD')) TABLESPACE partition_p_Name2,
PARTITION partition_p_Name3 VALUES LESS THAN (TO_date('2017-01-01','YYYY-MM-DD')) TABLESPACE partition_p_Name3,
PARTITION partition_p_Name4 VALUES LESS THAN (TO_date('2018-01-01','YYYY-MM-DD')) TABLESPACE partition_p_Name4,
PARTITION partition_p_Name5 VALUES LESS THAN (TO_date('2019-01-01','YYYY-MM-DD')) TABLESPACE partition_p_Name5,
PARTITION partition_p_max VALUES LESS THAN (MAXVALUE) TABLESPACE partition_p_max
);

第三步:插入数据

INSERT INTO partition_tab_Name SELECT * FROM ‘源表名’;

第四步:查询数据测试吧~
SELECT  * FROM goods_inf_r1 PARTITION(partition_p_Name1);--partition_p_Name2,partition_p_Name3~~~
推荐阅读:
  1. Oracle专题4之Oracle基本查询
  2. Oracle 学习之 性能优化(十二) 分区表

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

分区表 oracle 范围分区

上一篇:节能减排能源管控系统开发解决方案,在线监测平台搭建

下一篇:PyCharm pro在工作时的学习捷径

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》