msql分区
确认mysql服务器是否支持分区表: show plugins;
如果能看到partition则表示能分区。
HASH分区的特点:
根据MOD(分区键,分区数)的值把数据行存储到表的不同分区中
数据可以平均的分布在各个分区中
HASH分区的键值必须是一个INT类型的值,或是通过函数可以转为INT类型
建立表时,下方添加:
PARTITON BY HASH(ID)
PARTIONS 4;
PARTITON BY HASH(UNIX_TIMESTAMP(time)) # 转化为整型
PARTIONS 4; # 4个分区
RANGE分区特点:
根据分区键值的范围把数据行存储到表的不同分区中
多个分区的范围要连续,但是不能重叠
默认情况下,使用VALUES LESS THAN属性,即每个分区不包括指定的那个值,如1-100,不包括100
建表时,下方添加:
PARTITON BY RANGE (id)(
PARTION p0 VALUES LESS THAN (10000),
PARTION p1 VALUES LESS THAN (20000),
PARTION p2 VALUES LESS THAN (30000),
PARTION p3 VALUES LESS THAN MAXVALUE
)
查询建立的分区:
SELECT table_name,partition_name,partition_description,table_rows FROM information_schema.'PARTITIONS' WHERE table_name='表名';
增加分区:
ALTER TABLE 表名 ADD PARTITON (PARTITION p4 VALUES LESS THAN(2018);
删除分区:
ALTER TABLE 表名 DROP PARTITION p4;
数据归档迁移:需结构相同,归档到的表一定是非分区表,非临时表,没有外键约束,归档引擎archive
ALTER TABLE 表名 exchange PARTITON p1 WITH TABLE 归档到的表;
ALTER TABLE 归档到的表 ENGINE=ARCHIVE; # 归档引擎的表只能进行查询操作不能写
RANGE分区使用场景:
分区键为日期或是时间类型
所有查询中都包括分区键
定期按分区范围清理历史数据
LIST分区的特点:
按分区键取值的列表进行分区
同范围分区一样,各分区的列表值不能重复
每一行数据必须能找到对应的分区列表,否则数据插入失败
建表时,下方添加:
PARTITON BY LIST (id)( # id 为13579,存到p0,2468存到p1
PARTION p0 VALUES in (1,3,5,7,9),
PARTION p1 VALUES in (2,4,6,8)
)
使用分区表注意事项:
结合业务场景选择分区键,避免夸分区查询;
对分区表进行查询最好在WHERE从句中包含分区键;
具有主键或唯一索引的表,主键或唯一索引必须是分区键的一部分
msql分区的更多相关文章
- TDSQL“相似查询工具MSQL+”入选VLDB论文
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云数据库 TencentDB发表于云+社区专栏 作者介绍:王晓宇,腾讯数据库TDSQL团队成员,目前参与TDSQL数据库内核研发工 ...
- SQL Server表分区
什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在 ...
- win7安装时,避免产生100m系统保留分区的办法
在通过光盘或者U盘安装Win7操作系统时,在对新硬盘进行分区时,会自动产生100m的系统保留分区.对于有洁癖的人来说,这个不可见又删不掉的分区是个苦恼.下面介绍通过diskpart消灭保留分区的办法: ...
- Partition:增加分区
在关系型 DB中,分区表经常使用DateKey(int 数据类型)作为Partition Column,每个月的数据填充到同一个Partition中,由于在Fore-End呈现的报表大多数是基于Mon ...
- Partition2:对表分区
在SQL Server中,普通表可以转化为分区表,而分区表不能转化为普通表,普通表转化成分区表的过程是不可逆的,将普通表转化为分区表的方法是: 在分区架构(Partition Scheme)上创建聚集 ...
- Partition:分区切换(Switch)
在SQL Server中,对超级大表做数据归档,使用select和delete命令是十分耗费CPU时间和Disk空间的,SQL Server必须记录相应数量的事务日志,而使用switch操作归档分区表 ...
- WebGIS项目中利用mysql控制点库进行千万条数据坐标转换时的分表分区优化方案
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 项目中有1000万条历史案卷,为某地方坐标系数据,我们的真实 ...
- VMware下对虚拟机Ubuntu14系统所在分区sda1进行磁盘扩容
VMware下对虚拟机Ubuntu14系统所在分区sda1进行磁盘扩容 一般来说,在对虚拟机里的Ubuntu下的磁盘进行扩容时,都是添加新的分区,而并不是对其系统所在分区进行扩容,如在此链接中http ...
- SQL Server 批量主分区备份(Multiple Jobs)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 案例分析(Case) 方案一(Solution One) 方案二(Solution Two) ...
随机推荐
- nsqlookup_protocol_v1.go
, atomic.LoadInt64(&client.peerInfo.lastUpdate)) now := time.Now() p.ctx.nsqlook ...
- 【状压dp】Bzoj1231 [Usaco2008 Nov]mixup2 混乱的奶牛
Description 混乱的奶牛 [Don Piele, 2007] Farmer John的N(4 <= N <= 16)头奶牛中的每一头都有一个唯一的编号S_i (1 <= S ...
- BZOJ_2809_[Apio2012]dispatching_可并堆
BZOJ_2809_[Apio2012]dispatching_可并堆 Description 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿.在这个帮派里,有一名忍者被称 ...
- linux学习之路(1)
Linux基础命令 命令格式: 命令名称 [参数] [对象] 命令参数的长格式与短格式: 长格式:man -- help 短格式:man - h 常用系统工作命令 echo 输出语句 ...
- Python基础语法 系统学习
Python 中的基础语法最大的特点就是优雅和简洁.入门学习Python的难度相比较其他语言也比较小. 我个人比较推荐以下三个学习方式(根据个人情况和喜好,可选择任意一个): 1. 菜鸟在线:出品的 ...
- cmd 【已解决】windows连接手机,运行adb devices提示“unauthorized”
报错截图如下: 问题原因:电脑连接手机.手机未授权 解决方式: 设置----开发者选项-----打开USB调试,出现如下弹框,点击"确定"即可解决问题.
- 【BAT面试题系列】面试官:你了解乐观锁和悲观锁吗?
前言 乐观锁和悲观锁问题,是出现频率比较高的面试题.本文将由浅入深,逐步介绍它们的基本概念.实现方式(含实例).适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官. 目录 一.基本概念 二. ...
- C# - 为值类型重定义相等性
为什么要为值类型重定义相等性 原因主要有以下几点: 值类型默认无法使用 == 操作符,除非对它进行重写 再就是性能原因,因为值类型默认的相等性比较会使用装箱和反射,所以性能很差 根据业务需求,其实际相 ...
- 聊一聊快速排序(Js)
快速排序 基本思路 双指针+递归分治(本质是一个创建二叉树搜索树的过程) 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据 ...
- 【原】javascript笔记之this用法
javascript中的this学习起来相对复杂,最近花了点时间研究,总结起来大概这只有5种情况,相信只要熟悉这5种用法,基本是可以解决所有的this问题,文本不介绍this设计原理,只介绍用法,阅读 ...