吴裕雄--天生自然ORACLE数据库学习笔记:表分区与索引分区
create table ware_retail_part --创建一个描述商品零售的数据表
(
id integer primary key,--销售编号
retail_date date,--销售日期
ware_name varchar2(50)--商品名称
)
partition by range(retail_date)
(
--2011年第一个季度为part_01分区
partition par_01 values less than(to_date('2011-04-01','yyyy-mm-dd')) tablespace TBSP_1,
--2011年第二个季度为part_02分区
partition par_02 values less than(to_date('2011-07-01','yyyy-mm-dd')) tablespace TBSP_1,
--2011年第三个季度为part_03分区
partition par_03 values less than(to_date('2011-10-01','yyyy-mm-dd')) tablespace TBSP_2,
--2011年第四个季度为part_04分区
partition par_04 values less than(to_date('2012-01-01','yyyy-mm-dd')) tablespace TBSP_2
);
create table ware_retail_part2 --创建一个描述商品零售的数据表
(
id integer primary key,--销售编号
retail_date date,--销售日期
ware_name varchar2(50)--商品名称
)
partition by range(id,retail_date)--按照销售序号和销售日期分区
(
--第一个分区part_01
partition par_01 values less than(10000,to_date('2011-12-01','yyyy-mm-dd')) tablespace TBSP_1,
--第一个分区part_02
partition par_02 values less than(20000,to_date('2012-12-01','yyyy-mm-dd')) tablespace TBSP_1,
--第一个分区part_03
partition par_03 values less than(maxvalue,maxvalue) tablespace TBSP_2
);
create table ware_retail_part3 --创建一个描述商品零售的数据表
(
id integer primary key,--销售编号
retail_date date,--销售日期
ware_name varchar2(50)--商品名称
)
partition by hash(id)
(
partition par_01 tablespace TBSP_1,
partition par_02 tablespace TBSP_2
);
create table person
(
id number primary key,
name varchar2(20),
sex varchar2(2)
)
partition by hash(id)
partitions 2
store in(tbsp_1,tbsp_2);
create table goods
(
id number,
goodname varchar2(50)
)
storage(initial 2048k)
partition by hash(id)
(
partition par1 tablespace tbsp_1,
partition par2 tablespace tbsp_2
);
create table clients
(
id integer primary key,
name varchar2(50),
province varchar2(20)
)
partition by list(province)
(
partition shandong values('山东省'),
partition guangdong values('广东省'),
partition yunnan values('云南省')
);
create table person2 --创建以一个描述个人信息的表
(
id number primary key, --个人的编号
name varchar2(20), --姓名
sex varchar2(2) --性别
)
partition by range(id)--以id作为分区键创建范围分区
subpartition by hash(name)--以name列作为分区键创建hash子分区
subpartitions 2 store in(tbsp_1,tbsp_2)--hash子分区公有两个,分别存储在两个不同的命名空间中
(
partition par1 values less than(5000),--范围分区,id小于5000
partition par2 values less than(10000),--范围分区,id小于10000
partition par3 values less than(maxvalue)--范围分区,id不小于10000
);
create table saleRecord
(
id number primary key, --编号
goodsname varchar2(50),--商品名称
saledate date,--销售日期
quantity number--销售量
)
partition by range(saledate)
interval (numtoyminterval(1,'year'))
(
--设置分区键值日期小于2012-01-01
partition par_fist values less than (to_date('2012-01-01','yyyy-mm-dd'))
);
alter table clients
add partition hebei values('河北省')
storage(initial 10K next 20k) tablespace tbsp_1
nologging;
--创建表和分区
create table sales--创建一个销售记录表
(
id number primary key,--记录编号
goodsname varchar2(10),--商品名
saledate date--销售日期
)
partition by range(saledate)--按照日期分区
(
--第一季度数据
partition part_sea1 values less than(to_date('2011-04-01','yyyy-mm-dd')) tablespace tbsp_1,
--第二季度数据
partition part_sea2 values less than(to_date('2011-07-01','yyyy-mm-dd')) tablespace tbsp_2,
--第三季度数据
partition part_sea3 values less than(to_date('2011-10-01','yyyy-mm-dd')) tablespace tbsp_1,
--第四季度数据
partition part_sea4 values less than(to_date('2012-01-01','yyyy-mm-dd')) tablespace tbsp_2
); --创建局部索引
create index index_3_4 on sales(saledate)
local(
partition part_seal tablespace tbsp_1,
partition part_sea2 tablespace tbsp_2,
partition part_sea3 tablespace tbsp_1,
partition part_sea4 tablespace tbsp_2
); --并入分区
alter table sales merge partitions part_sea3,part_sea4 into partition part_sea4; --重建局部索引
alter table sales modify partition part_sea4 rebuild unusable local indexes;
--创建3个表空间 create tablespace ts_1 datafile 'D:\OracleFiles\OracleData\ts1.dbf'
size 10m
extent management local autoallocate;
create tablespace ts_2 datafile 'D:\OracleFiles\OracleData\ts2.dbf'
size 10m
extent management local autoallocate;
create tablespace ts_3 datafile 'D:\OracleFiles\OracleData\ts3.dbf'
size 10m
extent management local autoallocate; --创建分区表
create table studentgrade
(
id number primary key,--记录id
name varchar2(10),--学生名称
subject varchar2(10),--学科
grade number --成绩
)
partition by range(grade)
(
--小于60分,不及格
partition par_nopass values less than(60) tablespace ts_1,
--小于70分,及格
partition par_pass values less than(70) tablespace ts_2,
--大于或等于70分,优秀
partition par_good values less than(maxvalue) tablespace ts_3
); --创建本地索引分区
create index grade_index on studentgrade(grade)
local--根据表分区创建本地索引分区
(
partition p1 tablespace ts_1,
partition p2 tablespace ts_2,
partition p3 tablespace ts_3
); --查询所创建的索引分区信息
select partition_name,tablespace_name from dba_ind_partitions where index_name = 'GRADE_INDEX';
create index index_SalePrice on Books(SalePrice)
global partition by range(SalePrice)
(
partition p1 values less than (30),
partition p2 values less than (50),
partition p3 values less than (maxvalue)
);
create index index_ISBN on books(ISBN)
global partition by hash(ISBN);
alter index index_saleprice rename partition p3 to p_new;
create table Books_Sale --图书销售表
(
id integer primary key, --编号
quantity number, --销售数量
book_name varchar2(50), --名称
publisher varchar2(50) --出版社
)
partition by list(publisher) --以publisher 列为分区键创建列表分区
(
partition A values('A省出版社'), --A省份
partition B values('B省出版社'), --B省份
partition C values('C省出版社') --C省份
);
create index grade_index on Books_Sale(publisher)
local --根据表分区创建本地索引分区
(
partition p1 tablespace users,
partition p2 tablespace users,
partition p3 tablespace users
);
吴裕雄--天生自然ORACLE数据库学习笔记:表分区与索引分区的更多相关文章
- 吴裕雄--天生自然ORACLE数据库学习笔记:Oracle数据备份与恢复
run{ allocate channel ch_1 device type disk format = 'd:\oraclebf\%u_%c.bak'; backup tablespace syst ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:过程、函数、触发器和包
create procedure pro_insertDept is begin ,'市场拓展部','JILIN'); --插入数据记录 commit; --提交数据 dbms_output.put_ ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:PL/SQL编程
set serveroutput on declare a ; b ; c number; begin c:=(a+b)/(a-b); dbms_output.put_line(c); excepti ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:Oracle 11g的闪回技术
alter system set db_recovery_file_dest_size=4g scope=both; connect system/1qaz2wsx as sysdba; archiv ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:数据导出与导入
create directory dump_dir as 'd:\dump'; grant read,write on directory dump_dir to scott; --在cmd下 exp ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:优化SQL语句
create or replace procedure trun_table(table_deleted in varchar2) as --创建一个存储过程,传入一个表示表名称的参数,实现清空指定的 ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:Oracle系统调优
--修改 alter system set large_pool_size=64m; --显示 show parameter large_pool_size; select sum(getmisses ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:用户管理与权限分配
create user mr identified by mrsoft default tablespace users temporary tablespace temp; create user ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:其它数据对象
create index emp_deptno_index on emp(deptno) pctfree tablespace users; create bitmap index emp_salar ...
随机推荐
- Docker - Dockerfile - 常见命令简介
概述 感觉是个 比较重要的东西 有个疑问 我是先讲 docker build 还是 先讲 Dockerfile 穿插讲 docker build 最基本的东西 原理 -t -f docker file ...
- linux shell 正则表达式详解
正则 1. 普通正则表达式 2. 扩展正则表达式 普通正则表达式 . 任意一个字符 * 前面一个字符出现0次或者多次 [abc] 中括号内任意一个字符 [^abc] 非括号内任意一个字符 [0-9] ...
- 【Node.js安装步骤】
"Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.本文详 ...
- 为什么安装了淘宝镜像,永用cnpm安装依赖包会报错,而用npm就不会?报错:cnpm : 无法加载文件 C:\Users\93457\AppData\Roaming\npm\cnpm.ps1。。。。
cnpm - 解决 " cnpm : 无法加载文件 C:\Users\93457\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本.有关详细信息 ... ...
- 深入delphi编程理解之消息(四)使用TWMSysCommand结构体的WM_SysCommand消息应用
通过以下实例拦截窗体WM_SysCommand消息,我们可以获取到很多有趣的数据. 一.程序界面 二.程序代码 unit Unit1; interface uses Windows, Messages ...
- jmeter的使用---压力测试
jmeter用于压力测试 首先我们要区别压力和攻击,当设立了不适当的线程数量和准备时长,就容易造成攻击. 线程数:虚拟用户数.一个虚拟用户占用一个进程或线程.设置多少虚拟用户数在这里也就是设置多少个线 ...
- Red Hat 7.4 安装laravel框架 基于xampp集成环境
一.安装xampp 1.下载xampp安装包:xampp-linux-x64-7.1.10-0-installer.run 2.在安装包目录下运行命令: ./xampp-linux-x64-7.1.1 ...
- selenium常用的类库、对应的方法和属性
selenium常用的类库.对应的方法和属性
- STM32 MDK C 常见易错点
1.MDK编译器单字节的负数-1,-2,-3... ... 处理:存储,类型转换,位对齐. char 定义的变量在运算过程尤其类型转换,逻辑比大少会被当做 unsigned char 处理,这里很容易 ...
- rapidxml编写xml文件(er)
一.以rapidxml::node_declaration形式写xml文件第一行 int write(void) { ; rapidxml::xml_document<> doc; rap ...