一、分区概念 分区允许根据指定的规则,跨文件系统分配单个表的多个部分。表的不同部分在不同的位置被存储为单独的表。MySQL从5.1.3开始支持Partition。 分区和手动分表对比 手动分表-----------------分区 多张数据表------------一张数据表 重复数据的风险-

一、分区概念

分区允许根据指定的规则,跨文件系统分配单个表的多个部分。表的不同部分在不同的位置被存储为单独的表。MySQL从5.1.3开始支持Partition。

分区和手动分表对比

手动分表 -----------------  分区

多张数据表------------一张数据表

重复数据的风险  ------------没有数据重复的风险

写入多张表------------写入一张表

没有统一的约束限制------------强制的约束限制

MySQL支持RANGE,LIST,HASH,KEY分区类型,其中以RANGE最为常用:

Range(范围)– 这种模式允许将数据划分不同范围。例如可以将一个表通过年份划分成若干个分区。

List(预定义列表)– 这种模式允许系统通过预定义的列表的值来对数据进行分割。

Hash(哈希)– 这中模式允许通过对表的一个或多个列的Hash Key进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区。例如可以建立一个对表主键进行分区的表。

Key(键值)- 上面Hash模式的一种延伸,这里的Hash Key是MySQL系统产生的。

Composite(复合模式) – 以上模式的组合使用。比如,在初始化已经进行了Range范围分区的表上,我们可以对其中一个分区再进行hash哈希分区。

二、分区能做什么

逻辑数据分割

提高单一的写和读应用速度

提高分区范围读查询的速度

分割数据能够有多个不同的物理文件路径

高效的保存历史数据

一个表上的约束检查

不同的主从服务器分区策略,例如master按Hash分区,slave按range分区

Tips: 如果需要子分区的话,一般只针对range和list进行子分区,而子分区采用的模式通常为hash或者key

PHP MySQL

#这里修改成分区表

ALTER TABLE sign PARTITION by RANGE(id)(

PARTITION sign_p0 VALUES less than (10000000),

PARTITION sign_p1 VALUES less than (20000000),

PARTITION sign_p2 VALUES less than (30000000),

PARTITION sign_p3 VALUES less than (40000000),

PARTITION sign_p4 VALUES less than (50000000),

PARTITION sign_p5 VALUES less than (60000000),

PARTITION sign_p6 VALUES less than (70000000),

PARTITION sign_p7 VALUES less than (80000000),

PARTITION sign_p8 VALUES less than (90000000),

PARTITION sign_p9 VALUES less than MAXVALUE

);

#如果创建时分区表

CREATE TABLE sign(表结构)engine=MyISAM PARTITION BY RANGE(id)(

PARTITION sign_p0 VALUES less than (10000000),

PARTITION sign_p1 VALUES less than (20000000),

PARTITION sign_p2 VALUES less than (30000000),

PARTITION sign_p3 VALUES less than (40000000),

PARTITION sign_p4 VALUES less than (50000000),

PARTITION sign_p5 VALUES less than (60000000),

PARTITION sign_p6 VALUES less than (70000000),

PARTITION sign_p7 VALUES less than (80000000),

PARTITION sign_p8 VALUES less than (90000000),

PARTITION sign_p9 VALUES less than MAXVALUE

);

#上图所示

#通常的PC机,一亿条记录,修改时耗时接近12分钟;

#分区前,大概2.5G多数据,分区后有接近3.9G

mysql 分区 range_Mysql分区|mysql分区表|mysql partition|by range相关推荐

  1. mysql表分区数量限制_MySQL分区表的局限和限制详解

    禁止构建 分区表达式不支持以下几种构建: 存储过程,存储函数,UDFS或者插件 声明变量或者用户变量 可以参考分区不支持的SQL函数 算术和逻辑运算符 分区表达式支持+,-,*算术运算,但是不支持DI ...

  2. MySQL性能优化 分区

    简述 分区是指根据一定的规则,数据库将表分解为多个更小的,更容易管理的部分,就访问数据库而言,逻辑上只有一张表或一个索引,但实际上这张表可能又多个物理分区共同构成,每一个分区都是一个独立的对象,可以独 ...

  3. 理解MySQL——并行数据库与分区(Partition)

    1.并行数据库 1.1.并行数据库的体系结构 并行机的出现,催生了并行数据库的出现,不对,应该是关系运算本来就是高度可并行的.对数据库系统性能的度量主要有两种方式:(1)吞吐量(Throughput) ...

  4. MySQL数据库:分区Partition

    一.分区: 分区就是将表的数据按照特定规则存放在不同的区域,也就是将表的数据文件分割成多个小块,在查询数据的时候,只要知道数据数据存储在哪些区域,然后直接在对应的区域进行查询,不需要对表数据进行全部的 ...

  5. 【mysql分区分表】mysql 按时间分区 【partition】

    大家好,我是烤鸭:     今天分享一下有关 mysql 分区. 需求: 按时间分区. 对千万数据左右的表,进行分区,数据的增加量大概千万/年. 代码实现: 模拟之前已经存在的表: DROP TABL ...

  6. mysql 交换 表分区_mysql分区表分区数据和普通表交换

    前言 在介绍交换分区之前,我们先了解一下 mysql 分区. 数据库的分区有两种:水平分区和垂直分区.而MySQL暂时不支持垂直分区,因此接下来说的都是水平分区.水平分区即:以行为单位对表进行分区.比 ...

  7. mysql 不支持分区_MySQL分区表的局限和限制

    禁止构建 分区表达式不支持以下几种构建: 存储过程,存储函数,UDFS或者插件 声明变量或者用户变量 算术和逻辑运算符 分区表达式支持+,-,*算术运算,但是不支持DIV和/运算(还存在,可以查看Bu ...

  8. mysql的partition_MySQL分区(Partition)

    MySQL分区(Partition)功能试验2008-07-06 20:02目录 [概述] [分区表和未分区表试验过程] [分区命令详解] [概述] 自5.1开始对分区(Partition)有支持,6 ...

  9. mysql 分区表 外键_【MySQL】表分区

    MySQL表分区是MySQL提供的一种简单的数据表水平拆分方法. 分区表是一个逻辑表,它由多个物理子表组成. 目前只有 InnoDB 和 NDB 正式支持表分区. 注:表分区虽然可以缓解单表数据量过大 ...

  10. mysql myisam表分区_MySQL分区表的局限和限制详解

    禁止构建 分区表达式不支持以下几种构建: 存储过程,存储函数,UDFS或者插件 声明变量或者用户变量 可以参考分区不支持的SQL函数 算术和逻辑运算符 分区表达式支持+,-,*算术运算,但是不支持DI ...

最新文章

  1. 鱼佬:百行代码入手数据挖掘赛!
  2. python 计算两个日期相差多少个月
  3. 关于UIEdgeInsetsMake
  4. [攻防世界 pwn]——实时数据监测
  5. Qt工作笔记-Qt creator如何生成dll,以及如何移植到vs上
  6. 安卓开发由一个APP拉起另一个APP的方法总结
  7. html checkbox 透明度,【求助】关于表达式checkbox中不透明度的设置
  8. java拆分list_Java平均拆分list
  9. 我给曾经暗恋的高中女同学,用Python实现了她飞机上刷抖音
  10. android root测试,[原创]安卓逆向之绕过root检测的四种姿势
  11. 0723Python总结-递归函数及练习
  12. TP礼物钻石投票评选男神女神萌娃商家投票系统源码简介下载
  13. 推荐歌曲《 起风了》
  14. 磁盘阵列服务器上创建虚拟机,UNRAID下虚拟机搭建单机游戏教程
  15. Codeforces Round #815 (Div. 2) A-D2
  16. 【C语言】动态内存开辟
  17. 攻防演练第四年的一些碎碎念
  18. 三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)
  19. 学习【菜鸟教程】【C++ 类 对象】【内联函数】(例子简单,评论难懂)
  20. PySpark | RDD

热门文章

  1. 在学校外边找了份工作
  2. html 下拉框错层,关于html下拉框中optGroup标签的一个bug修复
  3. PHP 5.6 已结束安全支持,你升级到 PHP 7 系列了吗?
  4. 互联网全球化趋势下,印度极得美自我革新
  5. HTML(超文本标记语言)的内容和理解
  6. 一道和逆向和溢出有关的竞赛题分析
  7. Net设计模式实例之享元模式( Flyweight Pattern)(1)
  8. GridView“GridView1”激发了未处理的事件“PageIndexChanging”
  9. 如何查看 MySQL 数据库的引擎
  10. java web 前端学习路线