本文更新于2019-08-18,使用MySQL 5.7,作業系統為Deepin 15.4,
目錄
- 優化表的資料型別
- 通過拆分提高表的訪問效率
- 逆規范化
- 使用中間表提高統計查詢效率
一旦資料庫物件設計完畢并投入使用,再進行修改就比較麻煩,
優化表的資料型別
select_statement PROCEDURE ANALYSE([max_elements[, max_memory]])
對輸出的每一列的資料型別提出優化建議,用戶根據實際情況酌情考慮,引數的含義是:不要為超過max_elements個值或max_memory位元組的ENUM型別提出建議,
通過拆分提高表的訪問效率
- 垂直拆分:把主鍵和一些列放到一個表中,把主鍵和另外的列放到另一個表中,
- 水平拆分:根據一列或多列的值把資料行放到多個表中,水平拆分會給應用增加復雜度,通常在查詢時需要多個表名,
逆規范化
常用的逆規范化技術有:
- 增加冗余列:在多個表中有相同的列,用來在查詢時避免連接操作,
- 增加派生列:增加的列來自其他表中的資料經過計算而成,用來在查詢時減少連接操作,避免使用聚合函式,
- 重新組表:如果經常需要查看兩個表連接出來的結果,則把這兩個表重新組成一個表來避免連接,
- 分割表:即垂直拆分和水平拆分,
逆規范化需要維護資料的完整性,常用的方法是:
- 批處理維護
- 應用邏輯
- 觸發器
使用中間表提高統計查詢效率
- 中間表復制源表部分資料,并且與源表隔離,在中間表上做統計查詢不會對在線應用產生負面影響,
- 中間表可以靈活添加索引或臨時欄位,從而提高統計查詢的效率,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/6050.html
標籤:MySQL
上一篇:JDBC快速入門
下一篇:DQL查詢陳述句
