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 14 MySQL
MYSQL数据库使用UTF-8中文编码乱码的解决办法
May 26 MySQL
MySQL中的布尔值,怎么存储false或true
Jun 04 MySQL
MySQL 时间类型的选择
Jun 05 MySQL
探究Mysql模糊查询是否区分大小写
Jun 11 MySQL
MySQL 亿级数据导入导出及迁移笔记
Jun 18 MySQL
MySQL query_cache_type 参数与使用详解
Jul 01 MySQL
mysql 索引合并的使用
Aug 30 MySQL
mysql5.7的安装及Navicate长久免费使用的实现过程
Nov 17 MySQL
MySQL创建管理HASH分区
Apr 13 MySQL
MySQL常用慢查询分析工具详解
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
不用iconv库的gb2312与utf-8的互换函数
2006/10/09 PHP
PHP_Flame(Version:Progress)的原代码
2006/10/09 PHP
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
PHP Web表单生成器案例分析
2020/06/02 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
Jquery颜色选择器ColorPicker实现代码
2012/11/14 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
jquery处理json对象
2014/11/03 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
微信小程序之拖拽排序(代码分享)
2017/01/21 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
python 字符串和整数的转换方法
2018/06/25 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
pymysql的简单封装代码实例
2020/01/08 Python
Python基于Tkinter编写crc校验工具
2020/05/06 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
2020/05/11 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
音乐表演专业毕业生求职信
2013/10/14 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
2014年安置帮教工作总结
2014/12/11 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
muduo TcpServer模块源码分析
2022/04/26 Redis