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 表空间碎片的概念及相关问题解决
May 07 MySQL
MySQL查询学习之基础查询操作
May 08 MySQL
MySQL完整性约束的定义与实例教程
May 30 MySQL
浅谈MySQL user权限表
Jun 18 MySQL
SQL之各种join小结详细讲解
Aug 04 MySQL
MYSQL 表的全面总结
Nov 11 MySQL
防止web项目中的SQL注入
Dec 06 MySQL
MySQL如何快速创建800w条测试数据表
Mar 17 MySQL
MySql数据库触发器使用教程
Jun 01 MySQL
MySQL解决Navicat设置默认字符串时的报错问题
Jun 16 MySQL
mysql全面解析json/数组
Jul 07 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开发中常用的字符串操作函数
2011/02/08 PHP
php gzip压缩输出的实现方法
2013/04/27 PHP
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
php使用google地图应用实例
2014/12/31 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
php实现简单爬虫的开发
2016/03/28 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
2016/06/13 PHP
PHP基于DOMDocument解析和生成xml的方法分析
2017/07/17 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
PHP abstract与interface之间的区别
2013/11/11 Javascript
jQuery统计指定子元素数量的方法
2015/03/17 Javascript
jqTransform美化表单
2015/10/10 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
2016/06/16 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
中西医结合临床医学专业大学生自荐信
2013/09/28 职场文书
车间调度岗位职责
2013/11/30 职场文书
公司培训欢迎词
2014/01/10 职场文书
商场消防安全责任书
2014/07/29 职场文书
四风问题原因分析及整改措施
2014/10/24 职场文书
2014年党员发展工作总结
2014/12/02 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
餐馆开业致辞
2015/08/01 职场文书
田径运动会广播稿
2015/08/19 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
SpringBoot2 参数管理实践之入参出参与校验的方式
2021/06/16 Java/Android
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS