mysql 分区 range_Mysql分区|mysql分区表|mysql partition|by range
一、分区概念 分区允许根据指定的规则,跨文件系统分配单个表的多个部分。表的不同部分在不同的位置被存储为单独的表。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相关推荐
- mysql表分区数量限制_MySQL分区表的局限和限制详解
禁止构建 分区表达式不支持以下几种构建: 存储过程,存储函数,UDFS或者插件 声明变量或者用户变量 可以参考分区不支持的SQL函数 算术和逻辑运算符 分区表达式支持+,-,*算术运算,但是不支持DI ...
- MySQL性能优化 分区
简述 分区是指根据一定的规则,数据库将表分解为多个更小的,更容易管理的部分,就访问数据库而言,逻辑上只有一张表或一个索引,但实际上这张表可能又多个物理分区共同构成,每一个分区都是一个独立的对象,可以独 ...
- 理解MySQL——并行数据库与分区(Partition)
1.并行数据库 1.1.并行数据库的体系结构 并行机的出现,催生了并行数据库的出现,不对,应该是关系运算本来就是高度可并行的.对数据库系统性能的度量主要有两种方式:(1)吞吐量(Throughput) ...
- MySQL数据库:分区Partition
一.分区: 分区就是将表的数据按照特定规则存放在不同的区域,也就是将表的数据文件分割成多个小块,在查询数据的时候,只要知道数据数据存储在哪些区域,然后直接在对应的区域进行查询,不需要对表数据进行全部的 ...
- 【mysql分区分表】mysql 按时间分区 【partition】
大家好,我是烤鸭: 今天分享一下有关 mysql 分区. 需求: 按时间分区. 对千万数据左右的表,进行分区,数据的增加量大概千万/年. 代码实现: 模拟之前已经存在的表: DROP TABL ...
- mysql 交换 表分区_mysql分区表分区数据和普通表交换
前言 在介绍交换分区之前,我们先了解一下 mysql 分区. 数据库的分区有两种:水平分区和垂直分区.而MySQL暂时不支持垂直分区,因此接下来说的都是水平分区.水平分区即:以行为单位对表进行分区.比 ...
- mysql 不支持分区_MySQL分区表的局限和限制
禁止构建 分区表达式不支持以下几种构建: 存储过程,存储函数,UDFS或者插件 声明变量或者用户变量 算术和逻辑运算符 分区表达式支持+,-,*算术运算,但是不支持DIV和/运算(还存在,可以查看Bu ...
- mysql的partition_MySQL分区(Partition)
MySQL分区(Partition)功能试验2008-07-06 20:02目录 [概述] [分区表和未分区表试验过程] [分区命令详解] [概述] 自5.1开始对分区(Partition)有支持,6 ...
- mysql 分区表 外键_【MySQL】表分区
MySQL表分区是MySQL提供的一种简单的数据表水平拆分方法. 分区表是一个逻辑表,它由多个物理子表组成. 目前只有 InnoDB 和 NDB 正式支持表分区. 注:表分区虽然可以缓解单表数据量过大 ...
- mysql myisam表分区_MySQL分区表的局限和限制详解
禁止构建 分区表达式不支持以下几种构建: 存储过程,存储函数,UDFS或者插件 声明变量或者用户变量 可以参考分区不支持的SQL函数 算术和逻辑运算符 分区表达式支持+,-,*算术运算,但是不支持DI ...
最新文章
- 鱼佬:百行代码入手数据挖掘赛!
- python 计算两个日期相差多少个月
- 关于UIEdgeInsetsMake
- [攻防世界 pwn]——实时数据监测
- Qt工作笔记-Qt creator如何生成dll,以及如何移植到vs上
- 安卓开发由一个APP拉起另一个APP的方法总结
- html checkbox 透明度,【求助】关于表达式checkbox中不透明度的设置
- java拆分list_Java平均拆分list
- 我给曾经暗恋的高中女同学,用Python实现了她飞机上刷抖音
- android root测试,[原创]安卓逆向之绕过root检测的四种姿势
- 0723Python总结-递归函数及练习
- TP礼物钻石投票评选男神女神萌娃商家投票系统源码简介下载
- 推荐歌曲《 起风了》
- 磁盘阵列服务器上创建虚拟机,UNRAID下虚拟机搭建单机游戏教程
- Codeforces Round #815 (Div. 2) A-D2
- 【C语言】动态内存开辟
- 攻防演练第四年的一些碎碎念
- 三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)
- 学习【菜鸟教程】【C++ 类 对象】【内联函数】(例子简单,评论难懂)
- PySpark | RDD
热门文章
- 在学校外边找了份工作
- html 下拉框错层,关于html下拉框中optGroup标签的一个bug修复
- PHP 5.6 已结束安全支持,你升级到 PHP 7 系列了吗?
- 互联网全球化趋势下,印度极得美自我革新
- HTML(超文本标记语言)的内容和理解
- 一道和逆向和溢出有关的竞赛题分析
- Net设计模式实例之享元模式( Flyweight Pattern)(1)
- GridView“GridView1”激发了未处理的事件“PageIndexChanging”
- 如何查看 MySQL 数据库的引擎
- java web 前端学习路线