資料庫設計 維護優化 資料庫維護優化要做什麼? 資料庫維護優化要做什麼? 明確表以及表中每一個欄位所代表的含義。 隨著數據量和查詢的不斷變化,需要優化索引。 隨著需求的不斷變化,需要對錶進行擴充或裁剪 隨著數據量的增大,達到表的存儲瓶頸,使操作變慢,需要拆分表。 如何維護數據字典? 如何維護數據字典 ...
資料庫設計
維護優化
-
- 資料庫維護優化要做什麼?
- 維護數據字典
- 明確表以及表中每一個欄位所代表的含義。
- 維護索引
- 隨著數據量和查詢的不斷變化,需要優化索引。
- 維護表結構
- 隨著需求的不斷變化,需要對錶進行擴充或裁剪
- 水平/垂直拆分表結構
- 隨著數據量的增大,達到表的存儲瓶頸,使操作變慢,需要拆分表。
-
- 如何維護數據字典?
- 使用第三方工具對數據字典進行維護
- 利用資料庫本身的備註欄位來對數據字典進行維護,後面直接導出數據字典即可。
如MySQL:
CREATE TABLE `mmall_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用戶表id', `username` varchar(50) NOT NULL COMMENT '用戶名', `password` varchar(50) NOT NULL COMMENT '用戶密碼,MD5加密', `role` int(4) NOT NULL COMMENT '角色0-管理員,1-普通用戶', `create_time` datetime NOT NULL COMMENT '創建時間', `update_time` datetime NOT NULL COMMENT '最後一次更新時間', PRIMARY KEY (`id`), ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
-
- 如何維護索引?
- 如何選擇合適的列建立索引?
- 出現在where, group by, order by從句後的列。
- 可選擇性高的列要放在索引的前面
- 索引中不要包含太長的數據類型。
- 索引要適量,不是越多越好,大量的索引會導致操作效率降低。
- 定期維護索引碎片
- 在SQL語句中不要強制使用索引關鍵字。
- 如何維護表結構?
- MySQL5.5之前使用線上工具pt-online-schema-change調整表結構
- MySQL5.6自身支持線上表結構的變更。
- 同時對數據字典進行維護。
-
- 資料庫中適合的操作?
- 儘量使用批量操作,少用逐條操作。
- 儘量少用使用SELECT * 語句。
- 儘量少用用戶自定義函數。
- 謹慎使用用資料庫全文索引。
-
- 表的垂直拆分:減小表的寬度。
- 將經常查詢的列放在一起,不經常查詢的列單獨拆成一張附表。
- 表中數據量不發生變化。
-
- 表的水平拆分:減小表的高度。
- 通過主鍵hash的方式將一張大表拆分成n個小表。
- 表中各個列不發生變化。