MySQL创建管理KEY分区


Posted in MySQL onApril 13, 2022

介绍

KEY分区和HASH分区相似,但是KEY分区支持除text和BLOB之外的所有数据类型的分区,而HASH分区只支持数字分区,KEY分区不允许使用用户自定义的表达式进行分区,KEY分区使用系统提供的HASH函数进行分区。当表中存在主键或者唯一键时,如果创建key分区时没有指定字段系统默认会首选主键列作为分区字列,如果不存在主键列会选择非空唯一键列作为分区列,注意唯一列作为分区列唯一列不能为null。

一、常规KEY

1.创建分区

CREATE TABLE tb_key (
    id INT ,
    var CHAR(32) 
)
PARTITION BY KEY(var)
PARTITIONS 10;
SELECT PARTITION_NAME,PARTITION_METHOD,PARTITION_EXPRESSION,PARTITION_DESCRIPTION,TABLE_ROWS,SUBPARTITION_NAME,SUBPARTITION_METHOD,SUBPARTITION_EXPRESSION 
FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA=SCHEMA() AND TABLE_NAME='tb_key';
INSERT INTO tb_key() VALUES(1,'星期一'),(2,'1998-10-19'),(3,'new'),(4,'非常好'),(5,'5');

MySQL创建管理KEY分区

二、LINEAR KEY

同样key分区也存在线性KEY分区,概念和线性HASH分区一样。

1.创建分区

CREATE TABLE tb_keyline (
    id INT NOT NULL,
    var CHAR(5)
)
PARTITION BY LINEAR KEY (var)
PARTITIONS 3;

MySQL创建管理KEY分区

三、分区管理

key分区管理和hash分区管理是一样的,只能删除和增加分区,这里不再做详细介绍。

1.删除2个分区

ALTER TABLE tb_key COALESCE PARTITION 2;

2.增加三个分区

ALTER TABLE tb_key add PARTITION partitions 3;

四、移除表的分区

ALTER TABLE tablename
REMOVE PARTITIONING ;

注意:使用remove移除分区是仅仅移除分区的定义,并不会删除数据和drop PARTITION不一样,后者会连同数据一起删除

总结

KEY分区和HASH分区类似,在处理大量数据记录时能有效的分散数据热点。

到此这篇关于MySQL分区之KEY分区的文章就介绍到这了!

MySQL 相关文章推荐
MySQL令人咋舌的隐式转换
Apr 05 MySQL
MySQL表的增删改查(基础)
Apr 05 MySQL
MySQL sql_mode修改不生效的原因及解决
May 07 MySQL
MySQL系列之八 MySQL服务器变量
Jul 02 MySQL
mysql函数全面总结
Nov 11 MySQL
教你如何让spark sql写mysql的时候支持update操作
Feb 15 MySQL
分享几个简单MySQL优化小妙招
Mar 31 MySQL
MySQL数据库事务的四大特性
Apr 20 MySQL
MySQL数据库之存储过程 procedure
Jun 16 MySQL
mysql sql常用语句大全
Jun 21 MySQL
MySQL 原理优化之Group By的优化技巧
Aug 14 MySQL
MySQL实现用逗号进行拼接、以逗号进行分割
Dec 24 MySQL
MySQL创建管理HASH分区
Apr 13 #MySQL
MySQL创建管理RANGE分区
Apr 13 #MySQL
MySQL创建管理LIST分区
Apr 13 #MySQL
MySql分区类型及创建分区的方法
Apr 13 #MySQL
深入理解mysql事务隔离级别和存储引擎
mysql使用 not int 子查询隐含陷阱
Apr 12 #MySQL
MySQL数据库如何使用Shell进行连接
You might like
PHP分页显示制作详细讲解
2008/11/19 PHP
PHP 加密与解密的斗争
2009/04/17 PHP
thinkphp autoload 命名空间自定义 namespace
2015/07/17 PHP
JavaScript 布尔操作符解析  && || !
2012/08/10 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
jQuery中each方法的使用详解
2018/03/18 jQuery
vue动态注册组件实例代码详解
2019/05/30 Javascript
JS事件流与事件处理程序实例分析
2019/08/16 Javascript
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
Python实现生成简单的Makefile文件代码示例
2015/03/10 Python
Python字符串处理之count()方法的使用
2015/05/18 Python
python和ruby,我选谁?
2017/09/13 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
2019/07/03 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
Python如何合并多个字典或映射
2020/07/24 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
运动会广播稿80字
2014/01/23 职场文书
小学生成长感言
2014/01/30 职场文书
超市国庆节促销方案
2014/02/20 职场文书
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
民间借贷协议书范本
2014/10/01 职场文书
教师党员个人整改措施
2014/10/27 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
大学团日活动总结书
2015/05/11 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书
python某漫画app逆向
2021/03/31 Python
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript