温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

centos7-mysql-分区

发布时间:2020-08-03 21:51:04 来源:网络 阅读:664 作者:动力在于作 栏目:MySQL数据库

分区跟分表类似,目的是将一张表分到不通的存储中,这样可以减少单一磁盘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');
centos7-mysql-分区
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提高性能
分表麻烦,需要单独创建分表,分区则不需要,会自动创建.

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI