Oracle之分区表效率与普通表比较
来源:互联网 发布:发布淘宝优惠券的工作 编辑:程序博客网 时间:2024/05/22 08:29
--范围分区示例
drop table range_part_tab purge;
--注意,此分区为范围分区
create table range_part_tab (id number,deal_date date,area_code number,contents varchar2(4000))
partition by range (deal_date)
(
partition p1 values less than (TO_DATE('2017-02-01', 'YYYY-MM-DD')),
partition p2 values less than (TO_DATE('2017-03-01', 'YYYY-MM-DD')),
partition p3 values less than (TO_DATE('2017-04-01', 'YYYY-MM-DD')),
partition p4 values less than (TO_DATE('2017-05-01', 'YYYY-MM-DD')),
partition p5 values less than (TO_DATE('2017-06-01', 'YYYY-MM-DD')),
partition p6 values less than (TO_DATE('2017-07-01', 'YYYY-MM-DD')),
partition p7 values less than (TO_DATE('2017-08-01', 'YYYY-MM-DD')),
partition p8 values less than (TO_DATE('2017-09-01', 'YYYY-MM-DD')),
partition p9 values less than (TO_DATE('2017-10-01', 'YYYY-MM-DD')),
partition p10 values less than (TO_DATE('2017-11-01', 'YYYY-MM-DD')),
partition p11 values less than (TO_DATE('2017-12-01', 'YYYY-MM-DD')),
partition p12 values less than (TO_DATE('2018-01-01', 'YYYY-MM-DD')),
partition p_max values less than (maxvalue)
)
;
--以下是插入2017年一整年日期随机数和表示福建地区号含义(591到599)的随机数记录,共有10万条,如下:
insert into range_part_tab (id,deal_date,area_code,contents)
select rownum,
to_date( to_char(sysdate-365,'J')+TRUNC(DBMS_RANDOM.VALUE(0,365)),'J'),
ceil(dbms_random.value(590,599)),
rpad('*',400,'*')
from dual
connect by rownum <= 100000;
commit;
--分区原理分析之普通表插入
drop table norm_tab purge;
create table norm_tab (id number,deal_date date,area_code number,contents varchar2(4000));
insert into norm_tab(id,deal_date,area_code,contents)
select rownum,
to_date( to_char(sysdate-365,'J')+TRUNC(DBMS_RANDOM.VALUE(0,365)),'J'),
ceil(dbms_random.value(590,599)),
rpad('*',400,'*')
from dual
connect by rownum <= 100000;
commit;
set linesize 1000
set autotrace on
drop table range_part_tab purge;
--注意,此分区为范围分区
create table range_part_tab (id number,deal_date date,area_code number,contents varchar2(4000))
partition by range (deal_date)
(
partition p1 values less than (TO_DATE('2017-02-01', 'YYYY-MM-DD')),
partition p2 values less than (TO_DATE('2017-03-01', 'YYYY-MM-DD')),
partition p3 values less than (TO_DATE('2017-04-01', 'YYYY-MM-DD')),
partition p4 values less than (TO_DATE('2017-05-01', 'YYYY-MM-DD')),
partition p5 values less than (TO_DATE('2017-06-01', 'YYYY-MM-DD')),
partition p6 values less than (TO_DATE('2017-07-01', 'YYYY-MM-DD')),
partition p7 values less than (TO_DATE('2017-08-01', 'YYYY-MM-DD')),
partition p8 values less than (TO_DATE('2017-09-01', 'YYYY-MM-DD')),
partition p9 values less than (TO_DATE('2017-10-01', 'YYYY-MM-DD')),
partition p10 values less than (TO_DATE('2017-11-01', 'YYYY-MM-DD')),
partition p11 values less than (TO_DATE('2017-12-01', 'YYYY-MM-DD')),
partition p12 values less than (TO_DATE('2018-01-01', 'YYYY-MM-DD')),
partition p_max values less than (maxvalue)
)
;
--以下是插入2017年一整年日期随机数和表示福建地区号含义(591到599)的随机数记录,共有10万条,如下:
insert into range_part_tab (id,deal_date,area_code,contents)
select rownum,
to_date( to_char(sysdate-365,'J')+TRUNC(DBMS_RANDOM.VALUE(0,365)),'J'),
ceil(dbms_random.value(590,599)),
rpad('*',400,'*')
from dual
connect by rownum <= 100000;
commit;
--分区原理分析之普通表插入
drop table norm_tab purge;
create table norm_tab (id number,deal_date date,area_code number,contents varchar2(4000));
insert into norm_tab(id,deal_date,area_code,contents)
select rownum,
to_date( to_char(sysdate-365,'J')+TRUNC(DBMS_RANDOM.VALUE(0,365)),'J'),
ceil(dbms_random.value(590,599)),
rpad('*',400,'*')
from dual
connect by rownum <= 100000;
commit;
set linesize 1000
set autotrace on
select count(*) from norm_tab where deal_date>=TO_DATE('2017-09-01', 'YYYY-MM-DD')
and deal_date <= TO_DATE('2017-09-30', 'YYYY-MM-DD');
select count(*) from range_part_tab where deal_date>=TO_DATE('2017-09-01', 'YYYY-MM-DD')
and deal_date <= TO_DATE('2017-10-30', 'YYYY-MM-DD');
阅读全文
0 0
- Oracle之分区表效率与普通表比较
- 将普通表转变为分区表、索引分区,及与无分区前的查询效率比较
- Oracle 分区表和普通表查询效率分析对比
- Oracle 普通表与分区表转换
- ORACLE将普通表转变为分区表方法
- Oracle创建普通表转换为分区表
- ORACLE普通表转换成自动分区表
- oracle将普通表改为分区表
- 普通表索引,分区表局部索引和分区表的全局索引分区的效率对比测试
- Oracle之分区表和普通表的查询执行计划对比
- 普通表变为分区表
- 普通表转分区表
- mysql 普通索引 唯一索引的创建与效率比较
- mysql 普通索引 唯一索引的创建与效率比较
- [Oracle] 表在线重定义 - 普通表到分区表
- [Oracle] 表在线重定义 - 普通表到分区表
- oracle在线重定义(一)普通表到分区表
- 普通表转分区表和交换分区(oracle)
- 数组与指针的区别与联系
- c++随笔——17.10.21(二)
- 浅谈视频监控行业编解码技术的发展与应用
- 安卓(JAVA)读取Mp3文件中的歌曲信息(及readLine()出现乱码问题的解决方法)
- char *string="xxxxxxxxx" 与 char string[]="xxxxx"的区别
- Oracle之分区表效率与普通表比较
- 电路分析-第四章 分解方法及单口网络
- Ubuntu为安装的软件添加启动图标
- 股票量化分析(11)——第二个策略(5日移动均线、双均线、MACD策略)
- 移动端1px边框的实现
- 如何 在Spring MVC中 使用多个Spring和MyBatis的xml配置文件(多模块配置)
- 仟滋佰味商城
- MySQL概述
- 在ubuntu V16.04 中 编译树莓派2 linu内核