范式的優點和缺點
當為性能問題而尋求幫助時經常會被建議對schema 進行范式化設計尤其是寫密集的場景這通常是個好建議因為下面這些原因范式化通常能夠帶來好處
范式化的更新操作通常比反范式化要快
當數據較好地范式化時就只有很少或者沒有重復數據所以只需要修改更少的數據
范式化的表通常更小可以更好地放在內存裡所以執行操作會更快
很少有多余的數據意味著檢索列表數據時更少需要DISTINCT或者GROUP BY語句還是前面的例子在非范式化的結構中必須使用DISTINCT 或者GROUP BY 才能獲得一份唯一的部門列表但是如果部門(DEPARTMENT)是一張單獨的表則只需要簡單的查詢這張表就行了
范式化設計的schema 的缺點是通常需要關聯稍微復雜一些的查詢語句在符合范式的schema 上都可能需要至少一次關聯也許更多這不但代價昂貴也可能使一些索引策略無效例如范式化可能將列存放在不同的表中而這些列如果在一個表中本可以屬於同一個索引
返回目錄高性能MySQL
編輯推薦
ASPNET MVC 框架揭秘
Oracle索引技術
ASP NET開發培訓視頻教程
數據倉庫與數據挖掘培訓視頻教程
From:http://tw.wingwit.com/Article/program/MySQL/201311/29678.html