【Oracle笔记】详解表分区的方式(范围、散列、列表、复合)

【Oracle笔记】详解表分区的方式(范围、散列、列表、复合)

文章目录一、范围分区二、散列分区三、列表分区四、复合分区(范围-散列分区,范围-列表分区)五、表分区查询一、范围分区 范围分区是根据数据库表中某一字段的值的范围来划分分区,例如:user表过于庞大时,将user表根据一周7天分成7个分区。

代码语言:javascript代码运行次数:0运行复制create table user(

user_id varchar2(20 char),

user_name varchar2(50 char)

part_flag NUMBER(1)

)

tablespace user_data

partition by range(part_flag)(

partition user_p1 values less than(2) tablespace user_data,

partition user_p2 values less than(3) tablespace user_data,

partition user_p3 values less than(4) tablespace user_data,

partition user_p4 values less than(5) tablespace user_data,

partition user_p5 values less than(6) tablespace user_data,

partition user_p6 values less than(7) tablespace user_data,

partition user_p7 values less than(8) tablespace user_data

);二、散列分区 散列分区是根据字段的hash值进行均匀分布,尽可能的实现各分区所散列的数据相等。

代码语言:javascript代码运行次数:0运行复制create table user(

user_id varchar2(20 char),

user_name varchar2(50 char)

part_flag NUMBER(1)

)

partition by hash(user_id)

(

partition p1,

partition p2,

partition p3

)三、列表分区 列表分区明确指定了根据某字段的某个具体值进行分区,而不是像范围分区那样根据字段的值范围来划分的(不支持多列)。

代码语言:javascript代码运行次数:0运行复制create table user(

user_id varchar2(20 char),

user_name varchar2(50 char),

part_flag NUMBER(1)

)

partition by list(user_id)

(

partition A01 values('01'),

partition A02 values('02'),

partition A03 values('03')

)四、复合分区(范围-散列分区,范围-列表分区) 列表分区不支持多列,但是范围分区和哈希分区支持多列。

代码语言:javascript代码运行次数:0运行复制create table user(

user_id varchar2(20 char),

user_name varchar2(50 char),

part_flag NUMBER(1)

)

partition by range(part_flag)

subpartition by hash(user_id,user_name)

(

partition p1 values less than(50) (

subpartition sp1, subpartition sp2

),

partition p2 values less than(100) (

subpartition sp3, subpartition sp4

)

)代码语言:javascript代码运行次数:0运行复制create table user(

user_id varchar2(20 char),

user_name varchar2(50 char),

part_flag NUMBER(1)

)

partition by range(part_flag) subpartition by list(user_id)

(

partition p1 values less than(50')

(

subpartition s1 values('01','02','03','04','05','06','07','08','09','10'),

subpartition s1 values('11','12','13','14','15','16','17','18','19','20'),

subpartition s1 values('21','22','23','24','25','26','27','28','29','30')

),

partition p2 values less than(100)

(

subpartition s2 values('01','02','03','04','05','06','07','08','09','10'),

subpartition s2 values('11','12','13','14','15','16','17','18','19','20'),

subpartition s2 values('21','22','23','24','25','26','27','28','29','30')

)

) 五、表分区查询代码语言:javascript代码运行次数:0运行复制select * from user partition(p1);

select * from user subpartition(sp1);

相关推荐

Badoo靠谱吗?真实用户评价如何?
365bet欧洲版官网

Badoo靠谱吗?真实用户评价如何?

⏱️ 06-30 👁️ 5309
最新Ai手稿纹身网站工具和软件推荐
365bet欧洲版官网

最新Ai手稿纹身网站工具和软件推荐

⏱️ 07-01 👁️ 7762
世界杯12星座最强阵!你的星座能夺冠吗?
365bet欧洲版官网

世界杯12星座最强阵!你的星座能夺冠吗?

⏱️ 07-04 👁️ 3995
洁厕灵的作用和功能是什么 洁厕灵可以洗浴室玻璃吗
用过的说一下必看凯音A-88T MK2怎么样,内行良心评测?
弓箭手大作战哪个角色好 人物属性技能解析
365bet官方博客

弓箭手大作战哪个角色好 人物属性技能解析

⏱️ 07-07 👁️ 4277