MySQL分区表(转)
查看分区情况
- SELECT * FROM information_schema.PARTITIONS WHERE table_name='table_name';
PARTITION_NAME:分区的名称
PARTITION_METHOD:分区的类型
TABLE_ROWS:分区数据条数
RANGE分区:
- create table t (
- id int) engine=innodb
- partition by range (id) (
- partition p0 values less than (10), --id小于10的加入p0分区
- partition p1 values less than (20));--id大于等于10小于20的加入p1分区
增加分区
- alter table r add partition (partition p2 values less than maxvalue);
--所有大于等于20的加入p2分区
- CREATE TABLE `w` (
- `money` INT(10) UNSIGNED NOT NULL,
- `date` DATETIME DEFAULT NULL
- ) ENGINE=INNODB DEFAULT CHARSET=utf8
- PARTITION BY RANGE (YEAR(DATE)) --定义的规则也可以是函数
- (PARTITION p2010 VALUES LESS THAN (2010),
- PARTITION p2001 VALUES LESS THAN (2011),
- PARTITION p2012 VALUES LESS THAN (2012));
删除分区
- alter table w drop partition p2010;
--删除分区,则分区的数据也删除
----------------------------------------------------------------------
LIST分区
- CREATE TABLE m (
- a INT,
- b INT)ENGINE=innnodb
- PARTITION BY LIST (b)(
- PARTITION p0 VALUES IN (1,2,3,4,5),
- PARTITION p1 VALUES IN (6,7,8,9,10));
- insert into m values (1,6),(2,7),(3,11),(4,9)
--插入的值(3,11)不符合,如果是innodb引擎,后面(4,9)符合条件不会插入表中,
如果是myisam引擎,后面(4,9)符合条件则会插入表中
----------------------------------------------------------------------
HASH分区
- CREATE TABLE m_hash (
- a INT,
- b DATETIME)ENGINE=innnodb
- PARTITION BY HASH (YEAR(b)) --"partition by hash (expr)" expr是一个返回整数的表达式
- PARTITIONS 4; --表示要被分割成分区的数量,没有则默认是1
如:加入分区的算法mod(expr,分区数量4)=0 则加入p0
- PARTITION BY LINEAR HASH (YEAR(b))
--与hash只是算法不同,返回是值是一样的
----------------------------------------------------------------------
COLUMNS分区
mysql5.5开始支持,视为RANGE分区和LIST分区的一种进化,支持INT,SMALLINT,TINYINT,BIGINT.DATE,DATETIME.CHAR,VARCHAR,BINARY,VARBINARY类型
- CREATE TABLE t_columns_range(
- a INT,
- b DATETIME) ENGINE=INNODB
- PARTITION BY RANGE COLUMNS (b) --也可以PARTITION BY LESS COLUMNS (b)
- (PARTITION p0 VALUES LESS THAN('2009-01-01'),
- PARTITION p1 VALUES LESS THAN('2010-01-01'));
MySQL分区表(转)的更多相关文章
- MySQL 分区表
转载自MySQL 分区表 今天统计数据的时候发现一张表使用了表分区,借此机会记录一下. 1. 什么是表分区? 表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分.从逻辑上看, ...
- Mysql --分区表的管理与维护
改变一个表的分区方案只需使用alter table 加 partition_options 子句就可以了.和创建分区表时的create table语句很像 创建表 CREATE TABLE trb3 ...
- 数据切分——Mysql分区表的管理与维护
关于Mysql分区表的介绍可以参考: http://blog.csdn.net/jhq0113/article/details/44592865 关于Mysql分区表的创建可以参考: http://b ...
- 数据切分——Mysql分区表的建立及性能分析
Mysql的安装方法可以参考: http://blog.csdn.net/jhq0113/article/details/43812895 Mysql分区表的介绍可以参考: http://blog.c ...
- MySQL分区表基础
首先要确定MySQL是否支持分区: Mysql> SHOW VARIABLES LIKE '%partition%'; +-----------------------+-------+| Va ...
- (3) MySQL分区表使用方法
1. 确认MySQL服务器是否支持分区表 命令: show plugins; 2. MySQL分区表的特点 在逻辑上为一个表,在物理上存储在多个文件中 HASH分区(HASH) HASH分区的特点 根 ...
- MySQL 分区表原理及数据备份转移实战
MySQL 分区表原理及数据备份转移实战 1.分区表含义 分区表定义指根据可以设置为任意大小的规则,跨文件系统分配单个表的多个部分.实际上,表的不同部分在不同的位置被存储为单独的表.用户所选择的.实现 ...
- MYSQL分区表功能测试简析
1.查看Mysql版本是否支持分区 SHOW VARIABLES LIKE '%partition%'; +-------------------+-------+ | Variable_nam ...
- 详解MySQL分区表
当数据库数据量涨到一定数量时,性能就成为我们不能不关注的问题,如何优化呢? 常用的方式不外乎那么几种: 1.分表,即把一个很大的表达数据分到几个表中,这样每个表数据都不多. 优点:提高并发量,减小锁的 ...
- MySQL分区表使用方法
原文:MySQL分区表使用方法 1. 确认MySQL服务器是否支持分区表 命令: show plugins; 2. MySQL分区表的特点 在逻辑上为一个表,在物理上存储在多个文件中 HASH分区(H ...
随机推荐
- C# 每天温习一点(IEnumerable<TSource>)
1, IEnumerable<TSource> 多数屌丝写成 IEnumerable<T> 无论TSource还是T都代表一个意思:要枚举的对象的类型 .IEnumerab ...
- 关于IOS的蓝牙(转)
关于IOS的蓝牙 首先,你要了解你的目的是什么,一般的IOS蓝牙开发有以下三种目的: 1. IOS设备和IOS设备之间交互 好消息是:ios6.0可以把iPhone手机当从设备了,可以两台iPhone ...
- sql常识-FULL JOIN
SQL FULL JOIN 关键字 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行. FULL JOIN 关键字语法 SELECT column_name(s) FROM table_n ...
- android输入框显示在软键盘上边
有时候在界面需要输入的时候,如果输入框在界面的下方,软键盘弹出的时候会遮挡输入框界面,对用户的体验不是很好. 在网上找的别人的解决方案 首先: 清单文件里面配置:android:windowSoftI ...
- 第二篇、为UITableViewCell 高度自适应加速 缓存cell的高度
通过NSCache缓存已经算好的行高 @interface ZHCellHeightCalculator : NSObject //系统计算高度后缓存进cache -(void)setHeight:( ...
- APC -- Asynchronous Procedure Call 异步过程调用
异步过程调用(APC -- Asynchronous Procedure Call )是一种与常用的和简单的同步对象不同的一种同步机制. 我们在我们线程里使用基本的同步对象如MUTEX去通知其它线程, ...
- C# 添加,修改,删除文件夹/文件集合
C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw ...
- VS2013编译WEBKIT
0,安装VS2013:DXSDK_Jun10.exe:QuickTimeSDK.exe 1,WebKit-r174650.tar.bz2 以管理员解压(非管理员解压最后几下总是报错) 2,设置环境变量 ...
- Bugzilla 使用指南
Bugzilla安装见前一篇博客,本篇文章主要关注于如何高效合理的使用Bugzilla,作为为公司内部人员的培训使用指南. Bugzilla是一个开源的缺陷跟踪系统,它可以管理软件开发过程中缺陷的提交 ...
- HTML邮件制作规范
以下内容有些是别人总结的,有些是自己在工作中总结的. 模板最佳尺寸:显示宽度550px-750px,模板高度控制在一屏以内. 1. 用table+css方式构建模板 Div+css布局不完全被邮件客户 ...