MySQL表分区(1)范围分区-range
来源:互联网 发布:矩阵理论与应用 张跃辉 编辑:程序博客网 时间:2024/06/08 00:47
创建表分区
create table teacher (id varchar(20) not null , name varchar(20), age varchar(20), birthdate date not null, salary int )partition by range(year(birthdate))( partition p1 values less than (1970), partition p2 values less than (1990), partition p3 values less than maxvalue);
如果表已经创建完毕,需要后期分区:
ALTER TABLE teacher partition by range(year(birthdate)) ( partition p1 values less than (1970), partition p2 values less than (1990), partition p3 values less than maxvalue );
查看数据文件
准备数据
创建存储过程,因为要根据生日birthday进行range分区,因此分别插入不同日期(birthday字段)的数据:
begin declare i int; set i=0; while i<1000 do insert into teacher(id,name,age,birthdate,salary) values(i,"leo","30","2016-08-05",3000); set i=i+1; end while;end
看看数据库文件的变化过程:
插入生日小于1970年的数据时,p1文件由96k变成了144k,因此可以判断这部分数据存放在该区域。
插入生日大于1970年且小于1990年的数据时:
插入生日大于19900年的数据时:
数据文件
上面看到在分区完成后多个4个文件,分别是idb和frm格式,下面来说说这两种数据文件。
.ibd文件和.ibdata文件:这两种文件都是存放innodb数据的文件,之所以用两种文件来存放innodb的数据,是因为innodb的数据存储方式能够通过配置来决定是使用共享表空间存放存储数据,还是用独立表空间存放存储数据。独立表空间存储方式使用.ibd文件,并且每个表一个ibd文件。共享表空间存储方式使用.ibdata文件,所有表共同使用一个ibdata文件。
0 0
- MySQL表分区(1)范围分区-range
- 创建range(范围)分区!
- MySQL分区之RANGE分区(续)
- MySQL range分区(二)
- mysql分区管理 - range分区
- MySQL分区之RANGE分区
- MySQL分区之RANGE分区
- MySQL分区之RANGE分区
- MySQL分区之RANGE分区
- Mysql --分区(3)range分区
- mysql分区之range分区
- ORACLE 范围分区 partition-range分区
- MySQL分表--范围分区
- mysql分区-range
- MySQL的range分区
- mysql range 分区
- mysql RANGE分区
- 【Mysql】mysql表分区2 —Range分区
- poj 3984 迷宫问题
- MySQL---数据库从入门走向大神系列(一)-基础入门
- TCP如何保证消息顺序以及可靠性到达
- android studio设置字体大小
- ogg复进程拆分
- MySQL表分区(1)范围分区-range
- 欢迎使用CSDN-markdown编辑器
- CDN(内容分发网络)技术概述
- webView+svg显示
- poj 2420
- vim使用技巧
- myeclipse(亲测可用)下Mybatis Generator插件的安装
- VM虚拟机中 Centos 7 设置静态IP
- sleep与wait的区别