码迷,mamicode.com
首页 > 数据库 > 详细

centos7-mysql-分区

时间:2017-03-31 13:56:30      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:oracle

分区跟分表类似,目的是将一张表分到不通的存储中,这样可以减少单一磁盘IO占用,提高数据库效率
分区主要有两种形式
水平分区
对表的行进行分区,
垂直分区
减少表的宽度, 
想使用分区,需要先查看当前是否支持
show variables like ‘%partition%‘
出现yes即可使用
实例,按照range方式分区的表
create table if not exists  gao(id int primary key   auto_increment  , name varchar(30))  
default charset=utf8 auto_increment=1
partition by range(id)(
partition p0 values less than(10) data directory ‘/data/gao1‘,
partition p1 values less than maxvalue data directory ‘/data/gao2‘);
技术分享
alter table 表名 add partition (partition   名字   values   less  than  (n))   增加分区
alter table 表名 reorganize partition p1,p2,p3 into(partition p1 values less than(10)   ,   partition p2 values less than(20)) 合并分区
------------------------------------------------------------------------------------------------------------
使用list分区
partition by list(id)  是一个数字列
(partition p1 values in (1,3,5)
partition p2 values in (2,4,6));   每个分区表写入id值一样的,如果写入的数字分区表中没有则会报错,数值不能重复只能有一个.
---------------------------------------------------------------------------------------------------------------
分区跟分表的区别,
mysql的分表是真正的分表,一张表分成多个表,每个表都是完整的一张,都拥有三个文件,MYD数据文件,MYI索引文件,FRM表结构文件
分区是将一张表进行多个存放,还是一张表,不会变多,
分区跟分表是可以同时使用的!!!!不冲突
都是为了mysql提高性能
分表麻烦,需要单独创建分表,分区则不需要,会自动创建.

本文出自 “11627223” 博客,请务必保留此出处http://11637223.blog.51cto.com/11627223/1911978

centos7-mysql-分区

标签:oracle

原文地址:http://11637223.blog.51cto.com/11627223/1911978

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!