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
Windows10下安装MySQL8
Apr 06 MySQL
如何使用Maxwell实时同步mysql数据
Apr 08 MySQL
MySQL 分页查询的优化技巧
May 12 MySQL
MySQL 数据类型选择原则
May 27 MySQL
Navicat连接MySQL错误描述分析
Jun 02 MySQL
mysql5.7使用binlog 恢复数据的方法
Jun 03 MySQL
MySQL数据库10秒内插入百万条数据的实现
Nov 01 MySQL
解析MySQL索引的作用
Mar 03 MySQL
Mysql 数据库中的 redo log 和 binlog 写入策略
Apr 26 MySQL
Mysql表数据比较大情况下修改添加字段的方法实例
Jun 28 MySQL
MySQL中LAG()函数和LEAD()函数的使用
Aug 14 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写出自己的BLOG系统 2
2010/04/12 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
深入探讨<br />和 \r\n两者有什么区别??
2013/06/05 PHP
Yii框架登录流程分析
2014/12/03 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
phpcmsv9.0任意文件上传漏洞解析
2020/10/20 PHP
使用angular写一个hello world
2015/01/23 Javascript
javascript实现随机读取数组的方法
2015/08/03 Javascript
js实现的星星评分功能函数
2015/12/09 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
JS实现超级好看的鼠标小尾巴特效
2020/12/01 Javascript
Python随机生成彩票号码的方法
2015/03/05 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
Django处理Ajax发送的Get请求代码详解
2019/07/29 Python
发现两个有趣的CSS3动画效果
2013/08/14 HTML / CSS
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
方正Java笔试题
2014/07/03 面试题
运动会领导邀请函
2014/01/10 职场文书
珍珠奶茶店创业计划书
2014/01/11 职场文书
更夫岗位责任制
2014/02/11 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
个人委托函范文
2015/01/29 职场文书
工程部岗位职责范本
2015/04/11 职场文书
在pyCharm中下载第三方库的方法
2021/04/18 Python
如何通过cmd 连接阿里云服务器
2022/04/18 Servers