达梦数据库分区表学习总结【达梦数据库技术系列】

在接受为期5天的达梦数据库DCP培训后,对达梦数据库这个国产品牌又有了一个进一步的认识,达梦数据库在国产数据库领域无论是从工作原理还是使用方法上都是最像Oracle数据库的;着重记录下达梦数据库分区表的用法和注意事项,避免以后踏坑。

一 、 达梦的分区表主要有一下几种方式: 范围分区、哈希分区、列表分区、组合分区


1. 范围(range)水平分区:对表中的某些列上值的范围进行分区,根据某个值的范 围,决定将该数据存储在哪个分区上;

2. 哈希(hash)水平分区:通过指定分区编号来均匀分布数据的一种分区类型,通过在 I/O 设备上进行散列分区,使得这些分区大小基本一致;

3. 列表(list)水平分区:通过指定表中的某个列的离散值集,来确定应当存储在一起的数据。例如,可以对表上的 status 列的值在('A','H','O')放在一个 分区,值在('B','I','P')放在另一个分区,以此类推;

4. 多级分区表:按上述三种分区方区进行任意组合,将表进行多次分区,称为多级分区表。


分区表使用注意事项:

  • 分区表建议取消主键,建唯一性本地索引防止数据重复【参考百度】
  • 如果表中一定要主键,则分区范围一定要包含主键列

a. 分区表将子表分别存放在不同的表空间中,如果分区表有主键,并且主键并未包含在分区范围,则会出现以下情况:

SQL> create table  test1(id int primary key, c1 int) partition by range (c1)
(partition p1 values less than (10) tablespace tbs1,
partition p2 values less than (20) tablespace tbs2,
partition p3 values less than (30) tablespac
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
达梦数据库可以通过以下步骤为表建立分区: 1. 创建分区表空间(Partitioned Tablespace) 使用以下语句创建分区表空间: ``` CREATE TABLESPACE partition_tablespace DATAFILE 'path_to_datafile' SIZE 10G EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64M; ``` 其中,partition_tablespace为分区表空间名称,path_to_datafile为数据文件路径,SIZE指定表空间大小,EXTENT MANAGEMENT指定分区管理方式,LOCAL表示本地管理,UNIFORM SIZE指定分区大小。 2. 创建分区表(Partitioned Table) 使用以下语句创建分区表: ``` CREATE TABLE partition_table ( id NUMBER, name VARCHAR2(50), date_of_birth DATE ) PARTITION BY RANGE (date_of_birth) ( PARTITION p1 VALUES LESS THAN (TO_DATE('01-01-2000', 'DD-MM-YYYY')), PARTITION p2 VALUES LESS THAN (TO_DATE('01-01-2010', 'DD-MM-YYYY')), PARTITION p3 VALUES LESS THAN (MAXVALUE) ) TABLESPACE partition_tablespace; ``` 其中,partition_table为表名,id、name、date_of_birth为表字段,PARTITION BY指定分区方式,RANGE表示按照范围分区,date_of_birth为分区字段,p1、p2、p3为分区名称,VALUES LESS THAN指定分区的值范围,MAXVALUE表示分区的最大值,TABLESPACE指定表所使用的表空间。 3. 插入数据 使用INSERT语句向分区表中插入数据即可。 注意:在创建分区表时,必须指定所使用的分区表空间。同时,分区表分区键必须是表中的某一列,且该列必须具有可以进行比较的数据类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值