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 06 MySQL
jdbc使用PreparedStatement批量插入数据的方法
Apr 27 MySQL
Mysql服务添加 iptables防火墙策略的方案
Apr 29 MySQL
如何设计高效合理的MySQL查询语句
May 26 MySQL
Mysql数据库按时间点恢复实战记录
Jun 30 MySQL
Mysql中调试存储过程最简单的方法
Jun 30 MySQL
MySQL数据库必备之条件查询语句
Oct 15 MySQL
SQL优化老出错,那是你没弄明白MySQL解释计划用法
Nov 27 MySQL
Mysql索引失效 数据库表中有索引还是查询很慢
May 15 MySQL
分享很少见很有用的SQL功能CORRESPONDING
Aug 05 MySQL
MySql按时,天,周,月进行数据统计
Aug 14 MySQL
MySQL新手入门进阶语句汇总
Sep 23 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 header示例代码(推荐)
2010/09/08 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
js 获取、清空input type="file"的值(示例代码)
2013/12/24 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
JS处理json日期格式化问题
2015/10/01 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
2016/07/06 Javascript
js鼠标移动时禁止选中文字
2017/02/19 Javascript
创建Vue项目以及引入Iview的方法示例
2018/12/03 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
Python中lambda的用法及其与def的区别解析
2014/07/28 Python
Python中除法使用的注意事项
2014/08/21 Python
python中list常用操作实例详解
2015/06/03 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
关于django 1.10 CSRF验证失败的解决方法
2019/08/31 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
杭州联环马网络笔试题面试题
2013/08/04 面试题
软件测试面试题
2014/01/05 面试题
医学毕业生自荐信
2013/10/11 职场文书
厨师岗位职责
2013/11/12 职场文书
婚礼证婚人证婚词
2014/01/13 职场文书
教师学习三严三实心得体会
2014/10/13 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang