分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,app读写的时候根据事先定义好的规则得到对应的子表名,然后去操作它。而分区是将数据分段划分在多个位置存放,分区后,表面上还是一张表,但数据散列到多个位置了。app读写的时候操作的还是大表名字,db自动去组织分区的数据。

分区类型主要有range、list、hash、key

以常规hash举例说明分区是如何创建的

常规hash是取模运算

创建一个雇员表,根据id分成4个区,根据取模结果分别分成0,1,2,3四个区CREATE TABLE `partitions` (

`id` int(10) NOT NULL,

`ename` varchar(100) NOT NULL,

`hired` date NOT NULL DEFAULT '1992-03-03',

`separated` date NOT NULL DEFAULT '1992-03-03',

`job` varchar(100) NOT NULL,

`store_id` int(10) NOT NULL

)

partition by hash (id) partitions 4;

创建成功之后查看数据文件,数据文件和索引文件单独存放

然后插入数据测试数据是否已经分区存在

按照预定的结果,id为1应该放在分区1,2放在分区2,3放在分区3,4放在分区0

查看分区的分布情况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='partitions';

可以看到情况如预期一样

hash分区由原来的四个合并成两个,然后查看数据如何存储

ALTER TABLE `partitions` COALESCE PARTITION 2

然后查看分布情况

发现数据重新取模存储到新的分区

mysql 取模分区_MySQL分区相关推荐

  1. mysql 字符串类型 分区_MySQL分区类型

    博文大纲: 1.RANGE分区 2.LIST分区 3.HASH分区 4.key分区 5.MySQL分表和分区的区别 6.附加:如何实现将分区放在不同的目录下进行存储 MySQL分区类型如下: RANF ...

  2. mysql是否truncate分区_MySQL分区管理

    以下是我看MySQL官方文档的时候整理的笔记,仅作参考保留. RANGE,LIST分区管理 1:为未分区表创建分区 ALTER TABLE trb3 PARTITION BY KEY(id) PART ...

  3. mysql如何进行分区_mysql如何进行分区_mysql分区有哪些方法

    MySQL 可应用于多种语言,包括 PERL, C, C++, JAVA 和 PHP. 在这些语言中,MySQL 在 PHP 的 web 开发中是应用最广泛.大家知道mysql如何分区的吗?下面由学习 ...

  4. mysql根据id取模备份_MySQL中取模运算的正负与被模数的符号相同

    摘要: 取模国的个少族皇一中第一帝是统数民.关于接收带宽的描述,负符号I系信号统采集M的是错误是指时,信号频率断层的厚度层面范围所接收的.额定高设高度极限,被模旋出行程活塞过长.主油压千斤不得不得标志 ...

  5. mysql取模_mysql 取模分表

    取模分表,根据时间维度进行分表自定义的Hash 分表实现原理:利用sqlparser解析sql参数,根据参数修改相关的表名为实际表名. 分表后的数据复制,一般采用insert select语句将原有表 ...

  6. mysql之间互相订阅_Mysql分区报错,另外小说订阅表如何优化?

    CREATE TABLE `yy_subscribe2` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(10) unsi ...

  7. MySQL按字符串hash分区_Mysql分区

    Myisam:多个小表一个聚合表,逻辑上的 Innodb:物理文件的划分 注意事项 Show plugins Show engines Show variables like '%partition% ...

  8. mysql 取第一条_MySQL索引底层(一)索引底层原理

    微信公众号:Java患者 专注Java领域技术分享 MySQL索引底层原理 局部性与页 在操作系统中,我们执行一个指令去磁盘取数据,那么他会从磁盘取出4KB数据,这个4KB就是一个局部单位,而这4KB ...

  9. mysql 取年月日 语句_MySQL学习从这里出发!

    MySQL数据库 开发学习中,想满足一些需求,无疑需要经常与数据打交道,例如,我们在使用IO的一些技术的时候,常常需要将一些数据存储到外部文件,可能大家会问,我们初学的时候常常会简单的保存一些数据到 ...

最新文章

  1. 流行漏洞利用工具包瞄准Flash、Java和IE
  2. Codeforces 447C - DZY Loves Sequences
  3. Xstream util xml 与 bean之间互转
  4. mysql 主从复制的1032错误
  5. Spring Boot 启动加载数据 CommandLineRunner
  6. 腾讯CDC-审批流设计指南
  7. vue中使用watch监听$route 无效问题
  8. Divide and conquer:Drying(POJ 3104)
  9. 大疆aeb连拍_大疆 AIR2 玩机(一)包围曝光及后期处理
  10. Android NDK 如何缩减库的大小
  11. 金蝶ERP学习之路--财务知识
  12. 【Java实习生】每日10道面试题打卡!
  13. 机器学习全生命周期,一步一步,中长篇(三)总共三篇
  14. 程序“媛”公号,越来越少了,这次推荐俩,轻拍!
  15. 呸 渣男!八股文不让看,非得让看并发编程全彩图册,这下又进厂了
  16. 著名数列及其算法(斐波拉契)
  17. 华为网络设备SSH方式登录配置
  18. 273222-06-3,(2S,4R)-Boc-4-amino-1-Fmoc-pyrrolidine-2-carboxylic acid,(2S,4R)-Fmoc-4-叔丁氧羰基氨基吡咯烷-2-甲酸
  19. 数据库应用----Mongodb 4.0 版本 基础操作---复制集,选举方法、部署认证 (二)
  20. JSP电影院在线订票系统JSP电影购票系统JSP电影票预订系统JSP电影院管理jsp电影购票系统

热门文章

  1. ShaderLab学习小结(四)简单产生阴影
  2. 《从问题到程序:用Python学编程和计算》——2.6 简单脚本程序
  3. 使用lua实现nginx rewrite
  4. 【leetcode】Multiply Strings(middle)
  5. 学 Win32 汇编[6]: 伪指令 DUP 与数组
  6. 发起图片请求的几种可能性(webkit内核)
  7. JS 闭包 正则(1)
  8. hadoop中的helloword
  9. Unity实现IOS原生分享
  10. 编译条件编译——判断当前使用的编译器及操作系统