mysql in range_mysql 的 RANGE 分区有价值吗?
今天看了一下 MySQL 的 RANGE 分区,感觉限制太大了,不知道在实际应用是否有价值?
例如,在 RANGE 分区中,要么分区表上没有主键/唯一键,要么分区表的主键/唯一键都必须包含分区键。
-- 表包含一个主键和一个唯一键
CREATE TABLE emp(
id INT NOT NULL,
store_id INT NOT NULL,
PRIMARY KEY(id),
UNIQUE KEY key_store_id(store_id)
)
-- 在主键上分区
PARTITION BY RANGE(id)(
PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN (20),
PARTITION p2 VALUES LESS THAN (30)
);
抛出错误:A UNIQUE INDEX must include all columns in the table's partitioning function
-- 表包含一个主键和一个唯一键
CREATE TABLE emp(
id INT NOT NULL,
store_id INT NOT NULL,
PRIMARY KEY(id),
UNIQUE KEY key_store_id(store_id)
)
-- 在唯一键上分区
PARTITION BY RANGE(store_id)(
PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN (20),
PARTITION p2 VALUES LESS THAN (30)
);
抛出错误:A PRIMARY KEY must include all columns in the table's partitioning function
在设计表的时候,主键肯定是不能缺少的,也就是说我们在实际的分区操作时只能按照主键来分区,同时该表还必须保证没有任意一列是包含唯一键的。
面对这么多的限制,RANGE 分区真的有价值吗?
mysql in range_mysql 的 RANGE 分区有价值吗?相关推荐
- MySql采用range分区可提升查询效率
简介: RANGE分区基于一个给定的连续区间范围,早期版本RANGE主要是基于整数的分区.在5.7版本中DATE.DATETIME列也可以使用RANGE分区,同时在5.5以上的版本提供了基于非整形的R ...
- MySQL 5.7 表分区技术(二):RANGE分区
文章目录 一.说明 二.RANGE分区定义 三.示例 3.1 根据dept_id列进行分区 3.2 通过MAXVALUE关键字"catch all"所有大于某个值的数据 3.3 根 ...
- MySQL RANGE分区
2016-07-12 10:18 by pursuer.chen, 5060 阅读, 0 评论, 收藏, 编辑 介绍 RANGE分区基于一个给定的连续区间范围,早期版本RANGE主要是基于整数的分区. ...
- Mysql分区 - Range分区
1.Range(范围) – 这种模式允许DBA将数据划分不同范围.例如DBA可以将一个表通过年份划分成三个分区,80年代(1980's)的数据,90年代(1990's)的数据以及任何在2000年(包括 ...
- mysql横向分区_MySQL 横向表分区之RANGE分区小结
MySQL 横向表分区之RANGE分区小结 by:授客 QQ:1033553122 目录 简介 mysql表分区--RANGE分区,属于横向分区.举例说,假如有100条数据,分成十份,前10条数据放到 ...
- Mysql 分区介绍(二) —— RANGE分区
通过范围的方式进行分区, 为每个分区给出一定的范围, 范围必须是连续的并且不能重复, 使用VALUES LESS THAN操作符<br /> 让我们先来创建一个range分区的表 CREA ...
- mysql range代表什么意思_MySQL数据表range分区例子
某些行业数据量的增长速度极快,随着数据库中数据量的急速膨胀,数据库的插入和查询效率越来越低.此时,除了程序代码和查询语句外,还得在数据库的结构上做点更改:在一个主读辅写的数据库中,当数据表数据超过10 ...
- MySQL的分表和分区介绍
在日常开发或维护中经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕.分表和 ...
- MySQL基于时间字段进行分区的方案总结
MySQL支持的分区类型一共有四种:RANGE,LIST,HASH,KEY.其中,RANGE又可分为原生RANGE和RANGE COLUMNS,LIST分为原生LIST和LIST COLUMNS,HA ...
- mysql 社区版 innodb_MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)
MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测) / -------------------- 写在最前面 ------------------ ...
最新文章
- java 取得textfield_怎样获取java中textfield的内容
- word自带公式编辑_怎样在word2013中快速插入数学公式
- RABBITMQ 管理指南(添加虚拟HOST)
- 9Linux服务器编程之:mkdir()函数和rmdir()函数
- 让 .Net 更方便的导入导出 Excel
- Nagios飞信linux系统免费短信报警配置
- WebDriver API
- Trick(十四)—— 判断是否序列中所有的元素都相同
- DRL实战 : Dynamic Programming
- 好用的WPF开源UI框架项目
- CAD .Net 开发-快速入门
- 代理模式和装饰者模式区别
- Cobalt Strike(cs) 联动 msf
- 路由器WIFI密码忘记了怎么办
- dxo photolab mac 破解版永久激活方法
- Proteus与Keil联调 ARM STM32流水灯
- 2021年安全生产模拟考试(建筑安全员B证-项目负责人模拟考试题库)安考星
- Nexus 05 第二种方式 使用Jenkins Nexus插件上传制品
- 平克四部曲之《白板》
- 机器人genghis_家用机器人的未来
热门文章
- jQuery中的100个技巧
- struts2拦截器interceptor的三种配置方法
- 成为Oracle 10g DBA之路
- js 验证文本框为数字的正则表达式
- 无法解析的外部符号 __imp_RegCloseKey
- el-tooltip位置不灵活_小厨房里的收纳,贵在灵活
- cosmic中文翻译_cosmic是什么意思,cosmic翻译成中文,英译中-xyz翻译网
- 计算机WORD列宽行高怎么设置,高会《职称计算机》Word 2007:设置行高和列宽
- 微信浪漫告白小程序java_厉害了,微信小程序可以这样表白,还怕他(她)拒绝你?...
- js定位div坐标存入mysql_用JS将页面定位到某个位置(DIV)