欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql分库分表的常见策略

程序员文章站 2024-01-26 11:03:46
--0 mysql集群,将sql请求分发到多个数据库去,减少sql执行的等到时间 --l 拆分大数据表位若干表,比如事先创建n张结构相同的表,表名可以按照某种业务hash进行映射...

--0 mysql集群,将sql请求分发到多个数据库去,减少sql执行的等到时间

--l 拆分大数据表位若干表,比如事先创建n张结构相同的表,表名可以按照某种业务hash进行映射。缺点是规则的变化带来的影响

--2 利用merge存储引擎来实现分表

create table if not exists user1 (

id int(11) not null auto_increment,

name varchar(50) default null,

sex int(1) not null default 0,

primary key (id)

) engine = MyISAM default charset = utf8 auto_increment=1;

create table if not exists user2 (

id int(11) not null auto_increment,

name varchar(50) default null,

sex int(1) not null default 0,

primary key (id)

) engine = MyISAM default charset = utf8 auto_increment=1;

create table alluser like user1;

alter table alluser engine=MRG_MYISAM union=(user1,user2) insert_method=last;

show create table alluser;

insert into user1(name,sex) values('张三','0');

insert into user2(name,sex) values('李四','1');

select * from alluser;

insert into alluser(name,sex) values('李四2','0');

select * from user2;