达梦 定义水平分区表

水平分区包括范围分区、哈希分区和列表分区三种。水平分区表的创建需要通过
<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.mzph.cn/diannao/8797.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

240多道!Go开发岗位面试题合集(含答案)

随着今年互联网寒潮环境的影响&#xff0c;找工作的人也将达到顶峰&#xff0c;今天给大家分享一份《Go开发工程师超高频面试真题》&#xff0c;一共有240多道面试真题&#xff0c;希望能够帮助大家在面试中&#xff0c;少走一些弯路、更快拿到offer&#xff01; 内容展示 GO 基…

Dreamweaver 2021 for Mac 激活版:网页设计工具

在追求卓越的网页设计道路上&#xff0c;Dreamweaver 2021 for Mac无疑是您的梦幻之选。这款专为Mac用户打造的网页设计工具&#xff0c;集强大的功能与出色的用户体验于一身。 Dreamweaver 2021支持多种网页标准和技术&#xff0c;让您能够轻松创建符合现代网页设计的作品。其…

论文精度-Attention Is All You Need

文章目录 论文精读-Transformer(Attention is All You Need)1.Transformer 整体结构2. Transformer 的输入2.1 单词 Embedding2.2 位置 Embedding3. Self-Attention(自注意力机制)3.1 Self-Attention 结构3.2 Q, K, V 的计算3.3 Self-Attention 的输出3.4 Multi-Head Attent…

[Algorithm][BFS][拓扑排序][课程表][课程表Ⅱ][火星词典] + BFS解决拓扑排序原理 详细讲解

目录 0.原理讲解1.有向无环图2.AOV网3.拓扑排序4.实现拓扑排序5.如何建图&#xff1f; 1.课程表1.题目链接2.算法原理详解3.代码实现 2.课程表 II1.题目链接2.算法原理详解3.代码实现 3.火星词典1.题目链接2.算法原理详解3.代码实现 0.原理讲解 1.有向无环图 有向无环图&#…

基于Django图像识别系统毕业设计(付源码)

前言&#xff1a;Django是一个由Python编写的具有完整架站能力的开源Web框架&#xff0c;Django本身基于MVC模型&#xff0c;即Model&#xff08;模型&#xff09;View&#xff08;视图&#xff09; Controller&#xff08;控制器&#xff09;设计模式&#xff0c;因此天然具有…

AR技术的那些事

什么是AR技术&#xff1f; AR技术&#xff0c;全称为增强现实技术&#xff08;Augmented Reality&#xff09;&#xff0c;是一种将虚拟信息叠加到现实世界中的技术。通过AR技术&#xff0c;用户可以通过手机、平板电脑、AR眼镜等设备&#xff0c;将虚拟的数字内容&#xff08;…

【抽样调查】分层抽样上

碎碎念&#xff1a;在大一大二时听课有的时候会发现听不太懂&#xff0c;那时候只觉得是我自己的基础不好的原因&#xff0c;但现在我发现“听不懂”是能够针对性解决的。比如抽样调查这门课&#xff0c;分析过后我发现我听不懂的原因之一是“没有框架”&#xff0c;一大堆知识…

【使用ChatGPT的API之前】OpenAI API提供的可用模型

文章目录 一. ChatGPT基本概念二. OpenAI API提供的可用模型1. InstructGPT2. ChatGPT3. GPT-4 三. 在OpenAI Playground中使用GPT模型-ing 在使用GPT-4和ChatGPT的API集成到Python应用程序之前&#xff0c;我们先了解ChatGPT的基本概念&#xff0c;与OpenAI API提供的可用模型…

情感分类学习笔记(1)

文本情感分类&#xff08;二&#xff09;&#xff1a;深度学习模型 - 科学空间|Scientific Spaces 一、代码理解 cw lambda x: list(jieba.cut(x)) #定义分词函数 您给出的代码定义了一个使用 jieba 分词库的分词函数。jieba 是一个用于中文分词的 Python 库。该函数 cw 是…

03_led_horse_run_v0 跑马灯

03_led_horse_run_v0 在Verilog中实现跑马灯通常涉及到使用一个计数器来控制LED灯的亮灭顺序。 跑马灯是一种常见的电子显示方式&#xff0c;它通过控制多个LED灯的顺序点亮&#xff0c;形成一种动态的视觉效果&#xff0c;看起来就像灯在“跑”一样。 知识点&#xff1a; 移…

FTTR介绍

概念 FTTR&#xff08;Fiber to The Room&#xff09;是一种新型的光纤接入技术&#xff0c;它将光纤信号传输到室内的一个通信网络方案。在FTTR网络中&#xff0c;光纤到达建筑物内的分配盒后&#xff0c;通过铜缆或其他传输介质进入室内各个房间&#xff0c;为用户提供网络服…

Java面试八股文(SpringCloud篇)

****************************************************

前端双语实现方案(VUE版)

一、封装一个lib包 结构如下 en.js use strict;exports.__esModule true; exports.default {sp: {input: {amountError: Incorrect amount format},table: {total: Total:,selected: Selected:,tableNoData: No data,tableNoDataSubtext: Tip: Suggest to recheck your fil…

springboot利用Redis的Geo数据类型,获取附近店铺的坐标位置和距离列表

文章目录 GEO介绍GEO命令行应用添加地理坐标位置获取指定单位半径的全部地理位置列表springboot 的实际应用 GEO介绍 在Redis 3.2版本中&#xff0c;新增了一种数据类型&#xff1a;GEO&#xff0c;它主要用于存储地理位置信息&#xff0c;并对存储的信息进行操作。 GEO实际上…

整理好了!2024年最常见 100 道 Java基础面试题(三十七)

上一篇地址&#xff1a;整理好了&#xff01;2024年最常见 100 道 Java基础面试题&#xff08;三十六&#xff09;-CSDN博客 七十三、抽象类是否可以继承具体类&#xff1f; 在Java中&#xff0c;抽象类&#xff08;abstract class&#xff09;可以继承自具体类&#xff08;c…

Unity延时触发的几种常规方法

目录 1、使用协程Coroutine2、使用Invoke、InvokeRepeating函数3、使用Time.time4、使用Time.deltaTime5、使用DOTween。6、使用Vision Timer。 1、使用协程Coroutine public class Test : MonoBehaviour {// Start is called before the first frame updatevoid Start(){ …

使用css的box-reflect属性制作倒影效果

box-reflect 是一个在 CSS 中创建元素倒影效果的非标准属性。尽管它在过去的一些 WebKit 浏览器中&#xff08;如旧版的 Safari 和 Chrome&#xff09;得到了支持&#xff0c;但由于它并未成为 CSS 标准的一部分&#xff0c;因此在现代浏览器中的兼容性较差。以下是对 box-refl…

瑞麦德机电设备有限公司将莅临2024第13届生物发酵展

参展企业介绍 河南瑞麦德机电设备有限公司是专业从事机械输送气力输送、称重配料、筛分、磁选设备研发和制造于一体的企业&#xff0c;公司采用国内外同行业产品的先进技术&#xff0c;经专业团队设计、研发、生产&#xff0c;产品满足“ISO9001”&#xff0c;“GMP”等标准要求…

Java开发原则

Java开发原则 一. 设计规范1.1 Vo设计原则1.1.1 Long类型需要转为String类型 1.2 Mapper接口命名1.2.1 新增1.2.2 删除1.2.3 更新1.2.4 查询 一. 设计规范 1.1 Vo设计原则 1.1.1 Long类型需要转为String类型 由于Long类型转递到前端会出现数据溢出 1.2 Mapper接口命名 1.2…

React 学习-3

Props state可变&#xff0c;props不可变&#xff0c;故子组件使用props较多 ar title "菜鸟教程"; // var title 123; var MyTitle React.createClass({propTypes: {title: React.PropTypes.string.isRequired,},render: function() {return <h1> {this.…