【DM】达梦数据库中分区表的创建及查询操作

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
| | >=10&&<100 |

| | >=100&&<1000 |

| | >=1000 |

建表

CREATE TABLE HA.INFO(

NAME VARCHAR(50),

PRICE INT

)

PARTITION BY RANGE(PRICE)(

PARTITION P1 VALUES LESS THAN (10),

PARTITION P2 VALUES LESS THAN (100),

PARTITION P3 VALUES LESS THAN (1000),

PARTITION P4 VALUES LESS THAN (MAXVALUE)

);

COMMIT;

插入数据

insert into HA.INFO values(‘铅笔’,1);

insert into HA.INFO values(‘笔记本’,22);

insert into HA.INFO values(‘蓝牙耳机’,868);

insert into HA.INFO values(‘电脑’,4599);

insert into HA.INFO values(‘牙刷’,8);

insert into HA.INFO values(‘水杯’,15);

查询

SQL> SELECT * FROM HA.INFO PARTITION(P1);

行号 NAME PRICE


1 铅笔 1

2 牙刷 8

已用时间: 0.605(毫秒). 执行号:100.

SQL> SELECT * FROM HA.INFO PARTITION(P2);

行号 NAME PRICE


1 笔记本 22

2 水杯 15

已用时间: 1.531(毫秒). 执行号:101.

SQL> SELECT * FROM HA.INFO PARTITION(P3);

行号 NAME PRICE


1 蓝牙耳机 868

已用时间: 0.866(毫秒). 执行号:102.

SQL> SELECT * FROM HA.INFO PARTITION(P4);

行号 NAME PRICE


1 电脑 4599

已用时间: 0.839(毫秒). 执行号:103.

LIST分区表


如果分区列是不连续的,那么范围分区将不再适用,这时候如果分区列上有一些固定的值,那么可以进行列表分区。

建表

CREATE TABLE HA.CITYS(

CITY VARCHAR(50),

PEOPLE VARCHAR(50)

)

PARTITION BY LIST(CITY)(

PARTITION P1 VALUES(‘北京’,‘天津’),

PARTITION P2 VALUES(‘郑州’,‘武汉’)

);

COMMIT;

插入数据

INSERT INTO HA.CITYS VALUES(‘北京’,‘赵剑’);

INSERT INTO HA.CITYS VALUES(‘天津’,‘刘华’);

INSERT INTO HA.CITYS VALUES(‘武汉’,‘吴枫’);

INSERT INTO HA.CITYS VALUES(‘郑州’,‘王鹏’);

COMMIT;

查询

SQL> SELECT * FROM HA.CITYS PARTITION(P1);

行号 CITY PEOPLE


1 北京 赵剑

2 天津 刘华

已用时间: 41.528(毫秒). 执行号:16.

SQL> SELECT * FROM HA.CITYS PARTITION(P2);

行号 CITY PEOPLE


1 武汉 吴枫

2 郑州 王鹏

已用时间: 0.787(毫秒). 执行号:17.

如果CITY不在分区里面怎么办

SQL> insert into ha.citys values(‘上海’,‘李娇’);

insert into ha.citys values(‘上海’,‘李娇’);

已用时间: 3.747(毫秒). 执行号:0.

SQL>

这种情况是根本无法插入数据的。

哈希分区表


哈希分区表是针对上面这种情况而设计的,有时候,分区列是离散的,且值的范围也不固定,这时候就要用到哈希分区表了。它在指定数量的分区中均等地划分数据。

建表

CREATE TABLE HA.HASHCITYS(

CITY VARCHAR(50),

PEOPLE VARCHAR(50)

)

PARTITION BY HASH(CITY)(

PARTITION P1,

PARTITION P2

);

COMMIT;

插入数据

INSERT INTO HA.HASHCITYS VALUES(‘北京’,‘赵剑’);

INSERT INTO HA.HASHCITYS VALUES(‘天津’,‘刘华’);

INSERT INTO HA.HASHCITYS VALUES(‘武汉’,‘吴枫’);

INSERT INTO HA.HASHCITYS VALUES(‘郑州’,‘王鹏’);

COMMIT;

查询

SQL> SELECT * FROM HA.HASHCITYS PARTITION(P1);

行号 CITY PEOPLE


1 武汉 吴枫

2 郑州 王鹏

已用时间: 0.706(毫秒). 执行号:26.

SQL> SELECT * FROM HA.HASHCITYS PARTITION(P2);

行号 CITY PEOPLE


1 北京 赵剑

2 天津 刘华

已用时间: 0.765(毫秒). 执行号:27.

这部分和列表分区是一样的。

插入数据

SQL> INSERT INTO HA.HASHCITYS VALUES(‘上海’,‘李娇’);

影响行数 1

已用时间: 0.805(毫秒). 执行号:28.

SQL> COMMIT;

操作已执行

已用时间: 2.454(毫秒). 执行号:29.

这里却能插入成功

查询

SQL> SELECT * FROM HA.HASHCITYS PARTITION(P2);

行号 CITY PEOPLE


1 北京 赵剑

2 天津 刘华

3 上海 李娇

已用时间: 0.447(毫秒). 执行号:32.

可以看到这条记录被自动划分到了P2分区当中。

多级分区表


有时候一次分区并不能准确地对数据进行分类,这时候就需要进行多级分区。

下面做一个三级分区。第一级:基于年级的列表分区。第二级:基于性别的列表分区。第三级:基于分数的范围分区。

建表

CREATE TABLE HA.STUDENTS(

NAME VARCHAR(50),

GRADE INT CHECK (GRADE IN (7,8,9)),

SEX CHAR(2) CHECK (SEX IN (‘男’,‘女’)),

CORES INT CHECK (CORES>=0 AND CORES<=100)

)

PARTITION BY LIST(GRADE)

SUBPARTITION BY LIST(SEX) SUBPARTITION TEMPLATE(

SUBPARTITION S1 VALUES (‘男’),

SUBPARTITION S2 VALUES (‘女’)

),

SUBPARTITION BY RANGE(CORES) SUBPARTITION TEMPLATE(

SUBPARTITION C1 VALUES LESS THAN (60),

SUBPARTITION C2 VALUES LESS THAN (80),

SUBPARTITION C3 VALUES LESS THAN (100)

)

(

PARTITION G1 VALUES (7),

难道这样就够了吗?不,远远不够!

提前多熟悉阿里往年的面试题肯定是对面试有很大的帮助的,但是作为技术性职业,手里有实打实的技术才是你面对面试官最有用的利器,这是从内在散发出来的自信。

备战阿里时我花的最多的时间就是在学习技术上,占了我所有学习计划中的百分之70,这是一些我学习期间觉得还是很不错的一些学习笔记

我为什么要写这篇文章呢,其实我觉得学习是不能停下脚步的,在网络上和大家一起分享,一起讨论,不单单可以遇到更多一样的人,还可以扩大自己的眼界,学习到更多的技术,我还会在csdn、博客、掘金等网站上分享技术,这也是一种学习的方法。

今天就分享到这里了,谢谢大家的关注,以后会分享更多的干货给大家!

阿里一面就落马,恶补完这份“阿里面试宝典”后,上岸蚂蚁金服

阿里一面就落马,恶补完这份“阿里面试宝典”后,上岸蚂蚁金服

image.png

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
试题肯定是对面试有很大的帮助的,但是作为技术性职业,手里有实打实的技术才是你面对面试官最有用的利器,这是从内在散发出来的自信。

备战阿里时我花的最多的时间就是在学习技术上,占了我所有学习计划中的百分之70,这是一些我学习期间觉得还是很不错的一些学习笔记

我为什么要写这篇文章呢,其实我觉得学习是不能停下脚步的,在网络上和大家一起分享,一起讨论,不单单可以遇到更多一样的人,还可以扩大自己的眼界,学习到更多的技术,我还会在csdn、博客、掘金等网站上分享技术,这也是一种学习的方法。

今天就分享到这里了,谢谢大家的关注,以后会分享更多的干货给大家!

[外链图片转存中…(img-5MAQCnbr-1714690037723)]

[外链图片转存中…(img-aatiyJAq-1714690037723)]

[外链图片转存中…(img-vPW3HCYE-1714690037723)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 25
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值