MySql分庫分表

分庫分表有垂直切分和水平切分兩種
垂直切分
將表按照功能模塊,關係密切程度劃分出來,部署到不同的庫上,例如:我們會建立定義數據庫workDB,商品數據庫payDB.用戶數據庫userDB,日誌數據庫logDB等,分別用來存儲項目數據定義表,商品表,用戶表,日誌表等
水平切分
當一個表的數據量過大時,我們可以把該表的數據按照某種規則,例如userID散列,進行劃分,然後存儲到多個結構相同的表,和不同的庫上,\

單庫多表
隨着用戶量的增加,user表的數據量會越來越多,當數據量達到一個峯值的時候,會對user表越查越慢,進而影響整個數據庫的性能,如果使用mysql,還有一個更加致命的問題,就是當需要添加一列的時候,mysql會鎖表,鎖表期間所有的讀寫都會等待,
可以將user表水平劃分,產生多個表結構相同的user_01,user_02等表,這個時候user_01和user_02表的數據加起來剛好是所有的數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章