### 一,分庫
### 按照功能進行分庫。常見的分成6大庫:
1 用戶類庫:用于保存了用戶的相關信息。例如:db_user,db_system,db_company等。
2 業務類庫:用于保存主要業務的信息。比如主要業務是笑話,用這個庫保存笑話業務。例如:db_joke,db_temp_joke等。
3 內存類庫:主要用Mysql的內存引擎。前臺的數據從內存庫中查找,速度快。例如:heap。
4 圖片類庫:主要保存圖片的索引以及關聯。例如:db_img_index,db_img_res。
5 日志類庫:記錄點擊,刷新,登錄等日志信息。例如:db_log_click,db_log_fresh,db_log_login。
6 統計類庫:對業務的統計,比如點擊量,刷新量等等。例如db_stat。
### 二,分表
#### 2.1 水平分割。解決表行數過大問題
2.1.1 按照用戶或業務的編號分表
對與用戶或業務可以按照編號%n,進行分成n表。
例如:笑話表。
tb_joke_01,tb_joke_02,tb_joke_03,tb_joke_04........
#### 2.1.2 按照日期分表
對于日志或統計類等的表。可以按照年,月,日,周分表。
例如 點擊量統計。
tb\_click_stat_201601,tb_click_stat_201602,tb_click_stat_201603
#### 2.2 垂直分割。解決列過長問題。
1)經常組合查詢的列放在一張表中。常用字段的表可以考慮用Memory引擎。
2)把不常用的字段單獨放在一張表。
3)把text,blob等大字段拆分出來放在附表中。
###三、 Mysql數據庫常用架構
核心:一主多從,讀寫分離
