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中utf8mb4排序规则示例
Aug 02 MySQL
Mysql8.0递归查询的简单用法示例
Aug 04 MySQL
Mysql数据库手动及定时备份步骤
Nov 07 MySQL
MySQL分区表管理命令汇总
Mar 21 MySQL
MySQL Server层四个日志的实现
Mar 31 MySQL
MySQL批量更新不同表中的数据
May 11 MySQL
MySQL范围查询优化的场景实例详解
Jun 10 MySQL
MySQL导致索引失效的几种情况
Jun 25 MySQL
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
Aug 14 MySQL
MySQL常用慢查询分析工具详解
Aug 14 MySQL
postgresql如何找到表中重复数据的行并删除
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
在PHP上显示JFreechart画的统计图方法
2013/11/03 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
PHP迭代器接口Iterator用法分析
2017/12/28 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
2013/08/19 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
jquery图形密码实现方法
2015/03/11 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
python语言是免费还是收费的?
2020/06/15 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
html如何对span设置宽度
2019/10/30 HTML / CSS
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
造价工程师个人求职信
2013/09/21 职场文书
艺术爱好者的自我评价分享
2013/10/08 职场文书
大型晚会策划方案
2014/02/06 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
施工安全员岗位职责
2015/04/11 职场文书
导游词之桂林山水
2019/09/20 职场文书
MySQL插入数据与查询数据
2022/03/25 MySQL