Oracle9i通过引入列表分区(List Partition),使得当前共有4种分区数据

方法,具体列出如下:

字串9

第一种 范围分区 字串4

1 对表进行单列

范围分区:

字串6

这使最为常用也是最简单

方法,具体例子如下: 字串5create table emp

(empno number(4),

ename varchar2(30),

sal number)

partition by range(empno)

(partition e1 values less than (1000) tablespace emp1,

partition e2 values less than (2000) tablespace emp2,

partition e3 values less than (maxvalue) tablespace emp3);

insert into emp values (100,'Tom',1000);

insert into emp values (500,'Peter',2000);

insert into emp values (1000,'Scott',3000);

insert into emp values (1999,'Bill',4000);

insert into emp values (5000,'Gates',6000);

commit; 字串6

从emp表中选择全部

纪录如下: 字串8SQL> select * from emp;

EMPNO ENAME SAL

---------- ------------------------------ ----------

100 Tom 1000

500 Peter 2000

1000 Scott 3000

1999 Bill 4000

5000 Gates 6000

字串2

还可以按照分区进行选择: 字串6SQL> select * from emp partition (e1);

EMPNO ENAME SAL

---------- ------------------------------ ----------

100 Tom 1000

500 Peter 2000

SQL> select * from emp partition (e2)

EMPNO ENAME SAL

---------- ------------------------------ ----------

1000 Scott 3000

1999 Bill 4000

SQL> select * from emp partition (e3)

EMPNO ENAME SAL

---------- ------------------------------ ----------

5000 Gates 6000

字串5

使用了分区,还可以单独针对指定

分区进行truncate操作: 字串7alter table emp truncate partition e2;

字串3

2 对表进行多列

范围分区:

字串3

多列

范围分区主要是基于表中多个列

范围对数据进行分区,例如: 字串1drop table emp;

create table emp

(empno number(4),

ename varchar2(30),

sal number,

day integer not null,

month integer not null)

partition by range(month,day)

(partition e1 values less than (5,1) tablespace emp1,

partition e2 values less than (10,2) tablespace emp2,

partition e3 values less than (maxvalue,maxvalue) tablespace emp3);

SQL> insert into emp values (100,'Tom',1000,10,6);

SQL> insert into emp values (200,'Peter',2000,3,1);

SQL> insert into emp values (300,'Jane',3000,23,11);

字串8

字串7

第二种 Hash分区: 字串3

hash分区最主要

机制是根据hash算法来计算具体某条纪录应该插入到哪个分区中,hash算法中最重要

是hash函数,Oracle中如果你要使用hash分区,只需指定分区

数量即可。建议分区

数量采用2

n次方,这样可以使得各个分区间数据分布更加均匀。

字串1

具体例子如下: 字串1drop table emp;

create table emp (

empno number(4),

ename varchar2(30),

sal number)

partition by hash (empno)

partitions 8

store in (emp1,emp2,emp3,emp4,emp5,emp6,emp7,emp8); 字串6

怎么样?很方便吧!

字串8

第三种 复合分区:

字串2

这是一种将前两种分区综合在一起使用

方法,例如:

字串2

drop table emp;

create table emp (

empno number(4),

ename varchar2(30),

hiredate date)

partition by range (hiredate)

subpartition by hash (empno)

subpartitions 2

(partition e1 values less than (to_date('20020501','YYYYMMDD')),

partition e2 values less than (to_date('20021001','YYYYMMDD')),

partition e3 values less than (maxvalue)); 字串9

上面

例子中将雇员表先按照雇佣时间hiredate进行了范围分区,然后再把每个分区分为两个子hash分区。例子中一共将产生6个分区。

字串5

第四种 列表分区: 字串9

这是Oracle 9i

新特性,有了这种分区使得我们可以方便

按照值来将数据分为更小

片断。 字串1

例如:

字串1

drop table emp;

create table emp (

empno number(4),

ename varchar2(30),

location varchar2(30))

partition by list (location)

(partition e1 values ('北京'),

partition e2 values ('上海','天津','重庆'),

partition e3 values ('广东','福建'));

字串1

这里说明一下,列表分区不能有maxvalue,当你试图insert列表中不存在

时候,Oracle会拒绝这条纪录(ORA-14400)。

字串7

怎么样?看出列表分区很有用了吧?上面列出了Oracle9i中使用分区

四种方法,其中

例子很简单,真正工作中具体使用那种分区方法要参考你

具体需求。

字串6

注:例子中使用

e1,e2,e3,e4等是分区名称,emp1,emp2,emp3,emp4等是表空间名称

oracle insert指定分区,oracle partition 分区建立详解相关推荐

  1. Oracle SQL语句执行流程与顺序原理详解

    以前读的文章,保存到本地了,忘记来源了,分享一下,本地存着怕丢了 Oracle SQL语句执行流程与顺序原理详解 第一步:客户端把语句发给服务器端执行 当我们在客户端执行SQL语句时,客户端会把这条S ...

  2. Oracle数据泵备份与恢复 命令 expdp/impdp 用法详解

    Oracle数据泵备份与恢复 命令 expdp/impdp 用法详解 关于expdp和impdp     使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户 ...

  3. oracle导入导出版本规则,Oracle不同版本间的导入导出命令详解 - wangzhuoyan的专栏 - CSDN博......

    wangzhuoyan的专栏 明月松间照,清泉石上流 登录 注册 欢迎 退出 我的博客 配置 写文章 文章管理 博客首页   全站 当前博客  空间 博客 好友 相册 留言 用户操作 [发私信]  [ ...

  4. oracle中的exists 和 not exists 用法详解

    from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...

  5. DM10分区最完美的图文详解

    DM10分区最完美的图文详解(含低格) 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: 图片: ...

  6. Oracle Golden Gate 11.2.0.3安装详解

    Oracle Golden Gate 11.2.0.3安装详解 环境 环境变量 安装OGG软件 开始OGG配置 配置源端数据库 源端OGG配置 配置目标端数据库 目标端OGG配置 开启同步 环境 ce ...

  7. 数据库oracle认证方式,oracle数据库启动流程及登录认证方式详解

    转自:https://www.2cto.com/database/201803/726644.html ■  oracle启动流程-windows下 1) lsnrctl start  (启动监听) ...

  8. oracle如何对数据库进行备份,对Oracle数据库进行备份的两种方法详解

    首页 > 演讲稿 > 自我介绍演讲稿 > 对Oracle数据库进行备份的两种方法详解 对Oracle数据库进行备份的两种方法详解 时间:2019-05-05   来源:自我介绍演讲稿 ...

  9. 用matlab仿真pwm整流器的方法,MATLAB-PWM整流仿真模块建立详解.pdf

    MATLAB-PWM整流仿真模块建立详解 Page System Name 1 psb3levelVSC 2 psb3levelVSC/DC Regulator 3 psb3levelVSC/DC R ...

最新文章

  1. OpenStack Skyline 现代化的管理界面
  2. windows安装RabbitMQ注意事项
  3. 矫情这一次,感谢这几个人。
  4. java long类型转string_JavaSE的学习——数据类型
  5. CMake下载及安装
  6. windirstat怎么用_使用WinDirStat分析和管理硬盘空间
  7. 机房ip和住宅ip的区别是什么?
  8. 真正厉害的人,早戒掉了情绪
  9. 解决微信ios端+sendReq: not found
  10. 微信支付项目四:微信支付笔记
  11. Python究竟是个啥?为什么985的学生都在学它?早就该曝光了
  12. 剑网3选择人物后进入游戏就显示服务器断开连接,剑网3怎么进入游戏_剑网3进入游戏的问题_牛游戏网...
  13. Input输入框的验证
  14. Linux is内存管理,【原创】(七)Linux内存管理
  15. opencv学习日志15-统计焊点个数并输出
  16. 如何快速查询未签收、已签收以及退回件快递的物流进度、快递状态
  17. STM32cubeMX配置FreeRTOS软件定时器
  18. certutil 校验文件md5,sha1,sha256
  19. Leetcode——538. Convert BST to Greater Tree
  20. 机床高速精密加工多种实例应用

热门文章

  1. 中南大学计算机网络基础,中南大学计算机网络基础作业参考答案
  2. 第十八届全国大学智能汽车竞赛报名信息统计
  3. 问题:win7自带蓝牙无法识别外围设备 蓝牙音箱
  4. java实用工具 根据指定的类名查找jar包
  5. 用word域创建公式、图表、参考文献自动编号及交叉引用
  6. 软件质量管理体系 type:pdf_管理体系未来发展浅析
  7. visual studio2019改了账户登录选项也无法登陆的解决办法
  8. 丢鸡蛋 [Python3]
  9. ARM-LED灯--蜂鸣器
  10. 漫谈CRM体系化建设5:CRM体系化解决方案