1. 程式人生 > 資料庫 >mysql 分庫分表

mysql 分庫分表

mysql 分庫分表

分表策略

如: order 表 被拆分成1024張表


 拆分成: user_id%1024 取的對應表進行儲存
user_id%1024=0
user_id%1024=1
user_id%1024=2
.....

分庫分表路由策略
如:
  中間變數=user_id%(庫數量*每個庫的表數量);
        庫=取整(中間變數/每個庫的表數量;
        表=中間變數%每個表的數量

假設訂單表Order(表) 拆分成 256個庫 ,每個庫包含1024表

 如: user_id=2456454
 路由計算過程如下:
 
  中間變數=245645%(256*1024)=1;
        庫=取整(1/1024)=0;

        表=1%1024=1;

結果是 user_id=2456454訂單記錄的查詢和修改,將被路由到第0個庫
第1個表執行。