MySQL分区之KEY分区详解

吾爱主题 阅读:105 2024-04-01 23:24:36 评论:0

介绍

KEY分区和HASH分区相似,但是KEY分区支持除text和BLOB之外的所有数据类型的分区,而HASH分区只支持数字分区,KEY分区不允许使用用户自定义的表达式进行分区,KEY分区使用系统提供的HASH函数进行分区。当表中存在主键或者唯一键时,如果创建key分区时没有指定字段系统默认会首选主键列作为分区字列,如果不存在主键列会选择非空唯一键列作为分区列,注意唯一列作为分区列唯一列不能为null。

一、常规KEY

1.创建分区

?
1 2 3 4 5 6 CREATE TABLE tb_key (      id INT ,      var CHAR (32) ) PARTITION BY KEY (var) PARTITIONS 10;
?
1 2 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' ;
?
1 INSERT INTO tb_key() VALUES (1, '星期一' ),(2, '1998-10-19' ),(3, 'new' ),(4, '非常好' ),(5, '5' );

二、LINEAR KEY

同样key分区也存在线性KEY分区,概念和线性HASH分区一样。

1.创建分区

?
1 2 3 4 5 6 CREATE TABLE tb_keyline (      id INT NOT NULL ,      var CHAR (5) ) PARTITION BY LINEAR KEY (var) PARTITIONS 3;

三、分区管理

key分区管理和hash分区管理是一样的,只能删除和增加分区,这里不再做详细介绍。

1.删除2个分区

?
1 ALTER TABLE tb_key COALESCE PARTITION 2;

2.增加三个分区

?
1 ALTER TABLE tb_key add PARTITION partitions 3;

四、移除表的分区

?
1 2 ALTER TABLE tablename REMOVE PARTITIONING ;

注意:使用remove移除分区是仅仅移除分区的定义,并不会删除数据和drop PARTITION不一样,后者会连同数据一起删除

分区系列文章:

LIST分区:http://www.tuohang.net/article/248216.html

RANGE分区:http://www.tuohang.net/article/248217.html

HASH分区:https://www.tuohang.net/article/248218.html

KEY分区:https://www.tuohang.net/article/248219.html

子分区:https://www.tuohang.net/article/248220.html

指定各分区路径:https://www.tuohang.net/article/248221.html

分区索引以及分区介绍总结:https://www.tuohang.net/article/248222.html

总结

KEY分区和HASH分区类似,在处理大量数据记录时能有效的分散数据热点。

到此这篇关于MySQL分区之KEY分区的文章就介绍到这了,更多相关MySQL KEY分区 内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/chenmh/p/5647210.html

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容