總結
良好的schema 設計原則是普遍適用的但MySQL 有它自己的實現細節要注意概括來說盡可能保持任何東西小而簡單總是好的MySQL 喜歡簡單需要使用數據庫的人應該也同樣會喜歡簡單的原則
盡量避免過度設計例如會導致極其復雜查y 詢的schema 設計或者有很多列的表設計(很多的意思是介於有點多和非常多之間)
使用小而簡單的合適數據類型除非真實數據模型中有確切的需要否則應該盡可能地避免使用NULL 值
盡量使用相同的數據類型存儲相似或相關的值尤其是要在關聯條件中使用的列
注意可變長字符串其在臨時表和排序時可能導致悲觀的按最大長度分配內存
盡量使用整型定義標識列
避免使用MySQL 已經遺棄的特性例如指定浮點數的精度或者整數的顯示寬度
小心使用ENUM和SET雖然它們用起來很方便但是不要濫用否則有時候會變成陷阱最好避免使用BIT
范式是好的但是反范式(大多數情況下意味著重復數據)有時也是必需的並且能帶來好處第 章我們將看到更多的例子預先計算緩存或生成匯總表也可能獲得很大的好處Justin Swanhart 的Flexviews 工具可以幫助維護匯總表
最後ALTER TABLE 是讓人痛苦的操作因為在大部分情況下它都會鎖表並且重建整張表我們展示了一些特殊的場景可以使用駭客方法但是對大部分場景必須使用其他更常規的方法例如在備機執行ALTER 並在完成後把它切換為主庫本書後續章節會有更多關於這方面的內容
返回目錄高性能MySQL
編輯推薦
ASPNET MVC 框架揭秘
Oracle索引技術
ASP NET開發培訓視頻教程
數據倉庫與數據挖掘培訓視頻教程
From:http://tw.wingwit.com/Article/program/MySQL/201311/29669.html