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 8.0.24 安装配置方法图文教程
May 12 MySQL
修改MySQL的默认密码的四种小方法
May 26 MySQL
MySQL中distinct和count(*)的使用方法比较
May 26 MySQL
zabbix监控mysql的实例方法
Jun 02 MySQL
MySQL 亿级数据导入导出及迁移笔记
Jun 18 MySQL
MySQL 十大常用字符串函数详解
Jun 30 MySQL
MySQL连表查询分组去重的实现示例
Jul 01 MySQL
MySQL令人大跌眼镜的隐式转换
Aug 23 MySQL
MySQL数据库中varchar类型的数字比较大小的方法
Nov 17 MySQL
mysql5.5中文乱码问题解决的有用方法
May 30 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+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
php抓取页面的几种方法详解
2013/06/17 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
js操作iframe的一些方法介绍
2013/06/25 Javascript
JS定时刷新页面及跳转页面的方法
2013/07/04 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
AngularJS中的模块详解
2015/01/29 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
jquery日历插件datepicker用法分析
2016/01/22 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
在Django框架中伪造捕捉到的URLconf值的方法
2015/07/18 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
聊聊python里如何用Borg pattern实现的单例模式
2019/06/06 Python
对pyqt5之menu和action的使用详解
2019/06/20 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
利用python实现PSO算法优化二元函数
2019/11/13 Python
python实现人机五子棋
2020/03/25 Python
python os.rename实例用法详解
2020/12/06 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
贝佳斯官方网站:Borghese
2020/05/08 全球购物
JAVA中运算符的分类及举例
2015/09/12 面试题
大课间活动实施方案
2014/03/06 职场文书
会计学专业自荐信
2014/06/25 职场文书
出租车拒载检讨书
2015/01/28 职场文书
个人求职信格式范文
2015/03/20 职场文书
浅谈Python 中的复数问题
2021/05/19 Python