介绍

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分区相关推荐

  1. mysql的hash分区_MySQL中hash和key分区值的计算方法

    MySQL中hash和key分区值的计算方法 mysql中有一种叫作key作为partition key的类型.来看看记录是怎么分布的 对于hash 分区,使用%操作符,每个partition key ...

  2. Mysql中default分区,MySQL中的分区(六)KEY分区

    KEY分区和HASH分区类似. HASH分区只支持整数分区,而KEY分区支持使用除BLOB和Text外其他类型的列作为分区键, 创建分区表的时候,可以不指定分区键,默认会首先选择使用主键作为分区键. ...

  3. mysql 分区 key 写法_mysql数据库KEY分区用法

    mysql数据库KEY分区用法 按照KEY进行分区类似于按照HASH分区,除了HASH分区使用的用户定义的表达式,而KEY分区的 哈希函数是由MySQL 服务器提供.MySQL 簇(Cluster)使 ...

  4. MySQL之KEY分区和LINEAR KEY分区

    上一篇:MySQL之HASH分区和LINEAR HASH分区初识 KEY分区 KEY分区与HASH分区相似,当然有不同点 (1)在HASH分区中,可以使用整数列或者基于列值的表达式,即PARTITIO ...

  5. Mysql分区 - Key分区

    1.Range(范围) – 这种模式允许DBA将数据划分不同范围.例如DBA可以将一个表通过年份划分成三个分区,80年代(1980's)的数据,90年代(1990's)的数据以及任何在2000年(包括 ...

  6. mysql 分区 key 写法_MySQL KEY分区

    介绍 KEY分区和HASH分区相似,但是KEY分区支持除text和BLOB之外的所有数据类型的分区,而HASH分区只支持数字分区,KEY分区不允许使用用户自定义的表达式进行分区,KEY分区使用系统提供 ...

  7. mysql 不同分区 同时insert_一文看懂mysql数据库分区表概念、类型、适用场景、优缺点及原理...

    概述 最近对项目上部分表按时间做了分区,所以顺便整理下mysql分区表的一些内容,仅供参考. 一.分区表概念 分区是将一个表的数据按照某种方式,比如按照时间上的月份,分成多个较小的,更容易管理的部分, ...

  8. mysql表分区占用存储_MySQL 分区分表应用场景分析和分区中可能遇到的坑点

    MySQL的分区和分表应用场景分析 在日常工作中当我们的某张表的数据量过大的时候,首当其冲的可能就是进行分区和分表,但是是如何分区或者分表都要结合一点的业务场景下进行分析,才会显著的提升性能,来聊一聊 ...

  9. mysql 表分区 django_MySQL partition分区I

    Mysql5.1已经发行很久了,本文根据官方文档的翻译和自己的一些测试,对Mysql分区表的局限性做了一些总结,因为个人能力以及测试环境的原因,有可能有错误的地方,还请大家看到能及时指出,当然有兴趣的 ...

  10. MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)

    MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测) 一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过 ...

最新文章

  1. Facebook发布Detectron2,下一个万星目标检测新框架
  2. 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
  3. 正确认识使用UML中的类图——辨析类图的两种存在形式
  4. c#子线程线程中操作窗体更新的报错
  5. Docker中运行命令时提示:Cannot connect to the Docker daemony...以及设置docker开机启动
  6. Android的手势交互
  7. datareader对象直接转化为int_Integer、new Integer() 和 int 比较的面试题
  8. POJ 1064 分割线缆(二分查找)
  9. amazon alexa_亚马逊使向自定义Alexa Skills添加声音变得更加容易
  10. jvm 初始化之 cinit , init
  11. 最新2022亲测可用的免费google翻译api
  12. 7. namp工具的基础了解
  13. java版本导致ASDM连不上ASA
  14. SQL中分组,排序,分组排序
  15. AddressSanitizer: heap-buffer-overflow on address 0x602000000534 at pc 0x00000040699d bp 0x7ffce0afd
  16. 咸阳师范学院计算机学院女生多嘛,咸阳师范学院宿舍条件怎么样
  17. 木纤维增强聚丙烯复合材料:压缩和注塑成型工艺
  18. week8 作业B 猫猫向前冲
  19. 下次激活策略10_实体店生意经:6招引流策略,引爆客流!可套用任何行业
  20. chtMultiRegionSimpleFoam求解器的热源不在边界上【翻译】

热门文章

  1. “酸碱体质理论”是个骗局
  2. 游竹林寺不得,谈封山收费
  3. NWT杂事:来公司只喝酒不谈工作
  4. 跨时代比较:工业化因素是关键
  5. SHELL中如何对一个变量进行算术操作(加减)
  6. LINUX下载编译jpeglib
  7. X86栈切换,任务切换
  8. 堆优化的Dijkstra
  9. gitlab服务器性能,gitlab服务器搭建
  10. C++ 10进制字符串转10进制 10进制字符串转换