MySQL KEY分区
介绍
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');
二、LINEAR KEY
同样key分区也存在线性KEY分区,概念和线性HASH分区一样。
1.创建分区
CREATE TABLE tb_keyline (id INT NOT NULL,var CHAR(5) ) PARTITION BY LINEAR KEY (var) PARTITIONS 3;
三、分区管理
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不一样,后者会连同数据一起删除
分区系列文章:
RANGE分区:http://www.cnblogs.com/chenmh/p/5627912.html
LIST分区:http://www.cnblogs.com/chenmh/p/5643174.html
COLUMN分区:http://www.cnblogs.com/chenmh/p/5630834.html
HASH分区:http://www.cnblogs.com/chenmh/p/5644496.html
子分区:http://www.cnblogs.com/chenmh/p/5649447.html
指定各分区路径:http://www.cnblogs.com/chenmh/p/5644713.html
分区建索引:http://www.cnblogs.com/chenmh/p/5761995.html
分区介绍总结:http://www.cnblogs.com/chenmh/p/5623474.html
总结
KEY分区和HASH分区类似,在处理大量数据记录时能有效的分散数据热点。
备注: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。 《欢迎交流讨论》 |
转载于:https://www.cnblogs.com/chenmh/p/5647210.html
MySQL KEY分区相关推荐
- mysql的hash分区_MySQL中hash和key分区值的计算方法
MySQL中hash和key分区值的计算方法 mysql中有一种叫作key作为partition key的类型.来看看记录是怎么分布的 对于hash 分区,使用%操作符,每个partition key ...
- Mysql中default分区,MySQL中的分区(六)KEY分区
KEY分区和HASH分区类似. HASH分区只支持整数分区,而KEY分区支持使用除BLOB和Text外其他类型的列作为分区键, 创建分区表的时候,可以不指定分区键,默认会首先选择使用主键作为分区键. ...
- mysql 分区 key 写法_mysql数据库KEY分区用法
mysql数据库KEY分区用法 按照KEY进行分区类似于按照HASH分区,除了HASH分区使用的用户定义的表达式,而KEY分区的 哈希函数是由MySQL 服务器提供.MySQL 簇(Cluster)使 ...
- MySQL之KEY分区和LINEAR KEY分区
上一篇:MySQL之HASH分区和LINEAR HASH分区初识 KEY分区 KEY分区与HASH分区相似,当然有不同点 (1)在HASH分区中,可以使用整数列或者基于列值的表达式,即PARTITIO ...
- Mysql分区 - Key分区
1.Range(范围) – 这种模式允许DBA将数据划分不同范围.例如DBA可以将一个表通过年份划分成三个分区,80年代(1980's)的数据,90年代(1990's)的数据以及任何在2000年(包括 ...
- mysql 分区 key 写法_MySQL KEY分区
介绍 KEY分区和HASH分区相似,但是KEY分区支持除text和BLOB之外的所有数据类型的分区,而HASH分区只支持数字分区,KEY分区不允许使用用户自定义的表达式进行分区,KEY分区使用系统提供 ...
- mysql 不同分区 同时insert_一文看懂mysql数据库分区表概念、类型、适用场景、优缺点及原理...
概述 最近对项目上部分表按时间做了分区,所以顺便整理下mysql分区表的一些内容,仅供参考. 一.分区表概念 分区是将一个表的数据按照某种方式,比如按照时间上的月份,分成多个较小的,更容易管理的部分, ...
- mysql表分区占用存储_MySQL 分区分表应用场景分析和分区中可能遇到的坑点
MySQL的分区和分表应用场景分析 在日常工作中当我们的某张表的数据量过大的时候,首当其冲的可能就是进行分区和分表,但是是如何分区或者分表都要结合一点的业务场景下进行分析,才会显著的提升性能,来聊一聊 ...
- mysql 表分区 django_MySQL partition分区I
Mysql5.1已经发行很久了,本文根据官方文档的翻译和自己的一些测试,对Mysql分区表的局限性做了一些总结,因为个人能力以及测试环境的原因,有可能有错误的地方,还请大家看到能及时指出,当然有兴趣的 ...
- MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)
MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测) 一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过 ...
最新文章
- Facebook发布Detectron2,下一个万星目标检测新框架
- 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
- 正确认识使用UML中的类图——辨析类图的两种存在形式
- c#子线程线程中操作窗体更新的报错
- Docker中运行命令时提示:Cannot connect to the Docker daemony...以及设置docker开机启动
- Android的手势交互
- datareader对象直接转化为int_Integer、new Integer() 和 int 比较的面试题
- POJ 1064 分割线缆(二分查找)
- amazon alexa_亚马逊使向自定义Alexa Skills添加声音变得更加容易
- jvm 初始化之 cinit , init
- 最新2022亲测可用的免费google翻译api
- 7. namp工具的基础了解
- java版本导致ASDM连不上ASA
- SQL中分组,排序,分组排序
- AddressSanitizer: heap-buffer-overflow on address 0x602000000534 at pc 0x00000040699d bp 0x7ffce0afd
- 咸阳师范学院计算机学院女生多嘛,咸阳师范学院宿舍条件怎么样
- 木纤维增强聚丙烯复合材料:压缩和注塑成型工艺
- week8 作业B 猫猫向前冲
- 下次激活策略10_实体店生意经:6招引流策略,引爆客流!可套用任何行业
- chtMultiRegionSimpleFoam求解器的热源不在边界上【翻译】