达梦 定义水平分区表

水平分区包括范围分区、哈希分区和列表分区三种。水平分区表的创建需要通过
<PARTITION 子句>指定。
    范围(RANGE)分区,按照分区列的数据范围,确定实际数据存放位置的划分方式。

    列表(LIST)分区,通过指定表中的某一个列的离散值集,来确定应当存储在一起的
数据。范围分区是按照某个列上的数据范围进行分区的,如果某个列上的数据无法通过划分
范围的方法进行分区,并且该列上的数据是相对固定的一些值,可以考虑使用 LIST 分区。
一般来说,对于数字型或者日期型的数据,适合采用范围分区的方法;而对于字符型数据,
取值比较固定的,则适合于采用 LIST 分区的方法。

    哈希(HASH)分区,对分区列值进行 HASH 运算后,确定实际数据存放位置的划分方
式,主要用来确保数据在预先确定数目的分区中平均分布,允许只建立一个 HASH 分区。在
很多情况下,用户无法预测某个列上的数据变化范围,因而无法实现创建固定数量的范围分
区或 LIST 分区。在这种情况下,DM 哈希分区提供了一种在指定数量的分区中均等地划分
数据的方法, 基于分区键的散列值(HASH 值)将行映射到分区中。当用户向表中写入数
据时,数据库服务器将根据一个哈希函数对数据进行计算,把数据均匀地分布在各个分区中。
在哈希分区中,用户无法预测数据将被写入哪个分区中。
    在很多情况下,经过一次分区并不能精确地对数据进行分类,这时需要多级分区表。在
进行多级分区的时候,三种分区类型还可以交叉使用。

例子:

CREATE TABLE "your_table_name" 
(
    "id" INT NOT NULL,
    "date_column" DATE NOT NULL,
    ... -- 其他字段定义
) 
PARTITION BY RANGE(DATE_COLUMN) -- 指定分区键为date_column
(
    PARTITION p0 VALUES LESS THAN ('2020-01-01'), -- 小于2020年1月1日的数据
    PARTITION p1 VALUES LESS THAN ('2021-01-01'), -- 2020年1月1日到2021年1月1日之间的数据
    PARTITION p2 VALUES LESS THAN ('2022-01-01'), -- 2021年1月1日到2022年1月1日之间的数据
    ... -- 可以根据需要定义更多的分区
    PARTITION pn VALUES LESS THAN (MAXVALUE) -- 大于或等于最后一个范围上限的数据
);

使用说明
1. <表名>指定所要建立的基表名;
2. <PARTITION 子句>用来指定水平分区。其中 RANGE 和 HASH 可以指定一个或多
  个列作为分区列,LIST 只能指定一个列作为分区列;
  1) “PARTITION BY RANGE……”子句用来指定范围分区,然后在每个分区中分
   区列的取值通过 VALUES 子句指定。
  2) “PARTITION BY LIST……”子句用来指定 LIST 分区,然后在每个分区中分
    区列的取值通过 VALUES 子句指定。当用户向表插入数据时,只要分区列的
    数据与 VALUES 子句指定的数据之一相等,该行数据便会写入相应的分区子
    表中。LIST 分区的分区范围值必须唯一,不能重复。
  3) “PARTITION BY HASH……”子句用来指定 HASH 分区。
3. 分区列类型必须是数值型、字符型或日期型,不支持 BLOB、CLOB、IMAGE、TEXT、
    LONGVARCHAR、BIT、BINARY、VARBINARY、LONGVARBINARY、BFILE、时间间隔类
    型、虚拟列和用户自定义类型为分区列;
4. 水平分区表指定主键和唯一约束时,分区键必须都包含在主键和唯一约束中,但是
    全局唯一索引不受此约束;
5. 不能在水平分区表上建立自引用约束;
6. 普通环境中,水平分区表的各级分区数的总和上限是 65535;MPP 环境下,水平
    分区 表 的 各 级 分 区 总 数 上 限 取 决 于 INI 参数 MAX_EP_SITES ,上 限 为 2(16 -
    log2MAX_EP_SITES)。比如:当 MAX_EP_SITES 为默认值 64 时,分区总数上限为 1024;
7. 可以定义主表的 BRANCH 选项,但不能对水平分区子表进行 BRANCH 项设置,子
    表的 BRANCH 项只能通过主表继承得到;
8. 水平分区表不支持自增列;
9. 不允许引用水平分区子表作为外键约束;
10. 水平分区子表删除后,会将子表上的数据一起删除;
11. 范围分区和哈希分区的分区键可以多个,最多不超过 16 列;LIST 分区的分区键
    必须唯一;
12. 范围分区表使用说明:
    1) 范围分区支持 MAXVALUE 值的使用,MAXVALUE 代表一个比任何值都大的值。
    MAXVALUE 值需要用户指定才能使用,作为分区中的最大值。
    2) 范围分区的范围值表达式类型应与分区列类型一致,否则按分区列类型进行类
    型转换。
    3) 对于范围分区,增加分区必须在最后一个分区范围值的后面添加,要想在表的
    开始范围或中间增加分区,应使用 SPLIT PARTITION 语句。
13. LIST 分区表使用说明:
    1) LIST 分区支持 DEFAULT 关键字的使用,所有不满足分区条件的数据,都划
    分为 DEFAULT 的分区,但 DEFAULT 关键字需要用户指定,系统不会自动创
    建 DEFAULT 分区。
    2) LIST 水平分区表为堆表时,其各子表必须位于同一个表空间。
    3) LIST 分区范围值不能为 NULL。
    4) LIST 分区子表范围值个数与数据页大小和相关系统表列长度相关,存在以下
    限制:
        a) 4K 页,单个子表最多支持 120 个范围值。
        b) 8K 页,单个子表最多支持 254 个范围值。
        c) 16K 或 32K 页,单个子表最多支持 270 个范围值。
14. 组合水平分区表层次最多支持八层;
15. 普通表、堆表、列存储表均支持多级分区。

特别注意第八项:水平分区表不支持自增列;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/603095.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件测试小妙招:详细解读 postman接口测试导入导出操作

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 postman中的集合脚本&#xff0c;环境变量、全局变量全部都可以导出&#xff0c;然后分享给团队…

618购物狂欢有哪些值得买的?五款心水好物真实分享!

618购物狂欢即将到来&#xff0c;你是不是已经迫不及待地期待着各种优惠和折扣&#xff1f;在这个充满购物狂欢的时刻&#xff0c;大家可能会犹豫在众多商品中该如何选择。不用担心&#xff01;我已经为大家精心挑选了五款心水好物&#xff0c;并进行了真实的分享&#xff0c;帮…

在家中访问一个网站的思考

在家中访问一个网站的思考 1、家庭网络简介2、家庭WLAN DHCP2.1、家庭路由器PPPOE拨号2.2、DHCP&#xff08;动态主机配置协议&#xff09;2.3、接入家庭网的主机IP地址2.4、家庭总线型以太网2.5、Mac地址2.6、ARP协议2.7、IP协议 & UDP/TCP协议2.8、NAT&#xff08;Netwo…

使用凌鲨建立软件研发技能学习小组

凌鲨(OpenLinkSaas)的团队功能除了提供论坛功能&#xff0c;还能记录团队成员的成长记录。 使用方法 打开团队功能 团队功能在默认情况下是关闭的&#xff0c;你可以在登录后打开团队功能开关。 创建学习团队 日报/周报/个人目标一般是企业团队需要&#xff0c;建议关闭。 …

FPGA第二篇,FPGA与CPU GPU APU DSP NPU TPU 之间的关系与区别

简介&#xff1a;首先&#xff0c;FPGA与CPU GPU APU NPU TPU DSP这些不同类型的处理器&#xff0c;可以被统称为"处理器"或者"加速器"。它们在计算机硬件系统中承担着核心的计算和处理任务&#xff0c;可以说是系统的"大脑"和"加速引擎&qu…

通过 Java 操作 redis -- set 集合基本命令

关于 redis set 集合类型的相关命令推荐看Redis - Set 集合 要想通过 Java 操作 redis&#xff0c;首先要连接上 redis 服务器&#xff0c;推荐看通过 Java 操作 redis -- 连接 redis 本博客只介绍了一小部分常用的命令&#xff0c;其他的命令根据上面推荐的博客也能很简单的使…

12大价值:揭秘可视化大屏在机械行业应用(大量案例图)

1. 生产监控&#xff1a; 可视化数据大屏可以实时显示机械自动化生产线的运行状态、生产进度、设备故障等信息&#xff0c;帮助管理人员及时了解生产情况并做出相应的决策。 2. 故障诊断&#xff1a; 通过可视化数据大屏&#xff0c;可以将机械自动化设备的故障信息以图表、…

低代码在物品领用领域数字化转型的案例分析

办公用品管理数字化不仅代表了企业管理模式的革新&#xff0c;更是提升运营效率和成本控制的关键举措。通过数字化手段&#xff0c;企业能够实现采购、库存、领用等流程的自动化和智能化管理&#xff0c;大幅减少人工操作&#xff0c;提高处理速度&#xff0c;确保数据的准确性…

Zabbix+Grafana-常见报错及异常处理方式记录

文章目录 Zabbix安装篇Zabbix Web页面连接数据库失败 Zabbix使用篇中文显示不全 Zabbix报警篇新建的用户&#xff0c;配置报警后&#xff0c;无法收到报警 Grafana安装篇Windows系统安装时&#xff0c;添加zabbix报错&#xff1a;An error occurred within the plugin Zabbix安…

STM32快速入门(串口传输之USART)

STM32快速入门&#xff08;串口传输之USART&#xff09; 前言 USART串口传输能实现信息在设备之间的点对点传输&#xff0c;支持单工、半双工、全全双工&#xff0c;一般是有三个引脚&#xff1a;TX、RX、SW_RX&#xff08;共地&#xff09;。不需要一根线来同步时钟。最大优…

【小迪安全2023】第61天:服务攻防-中间件安全CVE复现K8sDockeruettyWebsphere

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收…

不要和别人比,要和自己的过去比!才会有进步!

现在的人都喜欢拿自己去和别人比较&#xff0c;当然是和比你混得好的人比&#xff0c;比你弱的你也不会去比。比如这个朋友又换了一辆车&#xff0c;那个朋友又买了一套房&#xff0c;另一个朋友又加薪了等等&#xff0c;比来比去总觉得比不上别人。这样比较对自己很不好&#…

【C语言视角】数据结构之~二叉树

前言&#xff1a;总所周知~数据结构的二叉树对于初学者来说是一个十分难理解的知识点。接下来&#xff0c;请阅读本人对二叉树拙劣的理解~ 目录 1.二叉树概念及结构 和性质 二叉树的结构 二叉树的存储结构 2.二叉树顺序结构 3.二叉树链式结构的实现 二叉树层序遍历 1.二叉树…

指定地区|CSC高级研究学者赴澳大利亚访学交流

CSC高级研究学者均是正高或博导级的&#xff0c;学术背景较强&#xff0c;多数能DIY联系到国外合作机构。但也有些申请者因指定地域或学校&#xff0c;或须在短期内获取邀请函故而求助于我们。本案例D教授就指定澳大利亚的墨尔本地区&#xff0c;我们最终用维多利亚大学的邀请函…

优化理论复习——(四)

无约束优化专题&#xff0c;主要使用了序列无约束极小化方法 无约束优化问题相关解法 最优性条件 互补松弛条件 对于一般约束优化问题&#xff1a; 整理一下就是著名的kkt条件&#xff1a; 这里只需要注意一点&#xff0c;那就是互补松弛条件只对不等式约束有限制。 然后是…

Metasploit Framework(MSF)从入门到实战(二)

Metasploit Framework&#xff08;MSF&#xff09;从入门到实战&#xff08;一&#xff09;_安装msf更新-CSDN博客 MSF模块介绍 MSF有7个模块&#xff0c;分别对下面目录下的7个子文件夹&#xff1a; auxiliary&#xff08;辅助模块 &#xff09; show auxiliary //查看所有…

Apache DolphinScheduler 4月简报:社区发展与技术革新速递

各位热爱 DolphinScheduler 的小伙伴们&#xff0c;4 月份的 DolphinScheduler 社区月报更新啦&#xff01;这里将记录 DolphinScheduler 社区每月的重要更新&#xff0c;欢迎关注&#xff01; 月度 Merge 之星 感谢以下小伙伴 4 月为 Apache DolphinScheduler 所做的精彩贡献…

【话题】如何看待AI技术,以及AI技术的发展现状和未来趋势

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章&#xff0c;这是《话题》系列文章 目录 背景一、引言二、AIGC技术的发展现状2.1、技术突破与成果2.2、应用领域的拓展2.3、市场规模的增长 三、AIGC技术的未来趋势3.1、技术融合与创新3.2、应用领域的深化3.3、…

【优选算法】——Leetcode——LCR 179. 查找总价格为目标值的两个商品

1.题目 2. 解法⼀&#xff08;暴⼒解法&#xff0c;会超时&#xff09;&#xff1a; 1.算法思路&#xff1a; 2.图解 3. 代码实现 3. 解法⼆&#xff08;双指针-对撞指针&#xff09;&#xff1a; 1.算法思路&#xff1a; 2.图解 3.代码实现 1.C语言 2…

【4089】基于小程序实现的互动打卡系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…
最新文章