北大青鸟oracle学习笔记7

oracle表分区

 

oracle允许用户对表进行进一步规划,即对表进行进一步拆分,将表分成若干个逻辑部分,灭个不妨称其为表分区

 

范围分区:

根据表中列值的范围进行分区

语法:Partition by range(字段名)(

Partition 分区名 values less than (60), --60以下

Partition 分区名 values less than (75), --60~75

Partition 分区名 values less than (85), --75~85

Partition 分区名 values less than (maxvalue) --85~max

);

 

散列分区:

通过制定分区编号来均匀的分布数据的方法

通过Hash函数(oracle系统提供)将数据映射到相应的分区上。

语法:Partition by hash(字段名)(

Partition 分区名,

Partition 分区名

);

 

复合分区:

先对数据进行范围分区,然后再每个子分区内进行散列分区。

语法:Partition by range(字段名)

Subpartition by hash(字段名)(

Partition p1 values less than(10),

(subpartition sp1,subpartition sp2),

Partition p2 values less than(20),

(subpartition sp3,subpartition sp4)

);

这样子就分成了4个分区

 

列表分区:

允许用户明确的控制行到分区的映射

允许按自然方式对无序或不相关的数据进行分组和组织

语法:

Partition by list(字段名)(

Partition 分区名 values('值','值','值')),

Partition 分区名 values('值')),

Partition 分区名 values('值','值'))

);

 

对分区中数据进行查询时,可以指定查询的分区,如:select * from student partition(p1);

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章