使用明確、統一的標明和列名,例如 Person, StudentID。
表名使用單數而不是複數,例如 SchoolName,而不是 SchoolNames。
表名不要使用空格。
表名不要使用不必要的前綴或後綴,例如使用School,而不是TblSchool,或者SchoolTable等等。
資料庫中的密碼要加密,到應用程式再解密。 (其實就是雜湊儲存、單向加密)
使用整數作為ID字段,也許現在沒有這個必要,但是將來需要,例如關聯表,索引等等。
使用整數欄位做索引,否則會帶來很大的效能問題 。
使用 bit 作為布林字段,使用整數或varcha是浪費。同時,這類欄位應該以「Is」開頭。
要經過認證才能存取資料庫,不要給每一個使用者管理員權限。
盡量避免使用“select *”,而使用“select [required_column_list]”以獲得更好的效能。
假如程式碼比較複雜,使用ORM框架,例如hibernate,iBatis。 ORM框架的效能問題可以透過詳細的配置去解決。
分割不常使用的表到不同的實體儲存以獲得更好的效能。
對於關鍵資料庫,使用安全備份系統,例如集群,同步等等。
使用外鍵,非空等限制來保證資料的完整性,不要把所有的東西都丟給程式。
缺乏資料庫文件是致命的。你應該為你的資料庫設計寫文檔,包括觸發器、預存程序和其他腳本。
對於經常使用的查詢和大型資料表,請使用索引。數據分析工具可以幫助你決定如何建立索引。
資料庫伺服器和網頁伺服器應該放在不同的機器上。這回提高安全性,並減輕CPU壓力。
Image和blob欄位不應該定義在常用的資料表中,否則會影響效能。
範式(Normalization)要依照要求使用以提高效能。 Normalization做的不夠會導致資料冗餘,而過度Normalization 會導致太多的join和資料表,這兩種情況都會影響效能。
多花點時間在資料庫設計上,否則你將來會付出加倍的時間來償還。
時間證明,許多程式的效率問題其實都是資料庫的設計不合理引起的,所以能夠設計出合理的資料庫對,整個軟體和網站至關重要!
以上是解析mysql資料庫設計技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!