mysql分庫分表的常見策略

2021-08-06 01:55:00 字數 1077 閱讀 2643

--0mysql集群,將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,

*** 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,

*** 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,***) values('張三','0');

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

select * from alluser;

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

select * from user2;

mysql分庫分表策略

一 分表 1 垂直拆分 根據表的字段數量 2 水平拆分規則 根據特定欄位取模,範圍,hash 二 分庫 1 垂直拆分 根據業務拆分 訂單資料過多時可給訂單單獨建立資料庫 2 水平拆分 垂直拆分後的資料庫根據規則進行水平拆分 如 訂單資料庫表的設計 不知道哪些查詢,拆分時可能規則不合理,會造成拆分後效...

mysql分表分庫實現 MySql分表分庫思路

一.資料庫瓶頸 1.1io瓶頸 第一種 磁碟讀io瓶頸,熱點資料太多,資料庫快取放不下,每次查詢時會產生大量的io 分庫和垂直分表 第二種 網路io瓶頸,請求的資料太多,網路頻寬不夠 分庫 1.2cpu瓶頸 第一種 sql問題,如sql中包含join,group by,order by,非索引字段條...

MySQL範圍分表分庫 mysql 分表分庫策略

唯一id的生成 下面列舉幾種常見的唯一id生成方案,需要滿足兩大核心需求 1.全域性唯一 2趨勢有序 1.用資料庫的auto increment 自增id 來生成,每次通過寫入資料庫一條記錄,利用資料庫id自增的特性獲取唯一,有序的id。優點 使用資料庫原有的功能,相對簡單 能夠保證唯一 能夠保證遞...