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 27 MySQL
MySQL 8.0 驱动与阿里druid版本兼容问题解决
Jul 01 MySQL
JMeter对MySQL数据库进行压力测试的实现步骤
Jan 22 MySQL
MySQL数据库⾼可⽤HA实现小结
Jan 22 MySQL
MySQL实现配置主从复制项目实践
Mar 31 MySQL
CentOS MySql8 远程连接实战
Apr 19 MySQL
mysql如何查询连续记录
May 11 MySQL
MySQL数据库表约束讲解
Jun 21 MySQL
mysql拆分字符串作为查询条件的示例代码
Jul 07 MySQL
mysql查看表结构的三种方法总结
Jul 07 MySQL
详解MySQL的内连接和外连接
May 08 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
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
通过对php一些服务器端特性的配置加强php的安全
2006/10/09 PHP
PHP 中的批处理的实现
2007/06/14 PHP
php判断两个日期之间相差多少个月份的方法
2015/06/18 PHP
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
JavaScript快速检测浏览器对CSS3特性的支持情况
2012/09/26 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
2015/06/05 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
2016/12/21 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
seajs下require书写约定实例分析
2018/05/16 Javascript
详解React 服务端渲染方案完美的解决方案
2018/12/14 Javascript
JavaScript实现网页计算器功能
2020/10/29 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
Python转换HTML到Text纯文本的方法
2015/01/15 Python
Python中基本的日期时间处理的学习教程
2015/10/16 Python
Python OpenCV实现图片上输出中文
2018/01/22 Python
对python条件表达式的四种实现方法小结
2019/01/30 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
Python图片的横坐标汉字实例
2019/12/04 Python
python实现图片横向和纵向拼接
2020/03/05 Python
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
我的五年职业生涯规划
2014/01/23 职场文书
校园安全教育广播稿
2014/02/17 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
办公室文员岗位职责
2015/02/04 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
Python快速实现一键抠图功能的全过程
2021/06/29 Python