解析mysql數據庫設計技巧

解析mysql數據庫設計技巧

使用明確、統一的標明和列名,例如 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和數據表,這兩種情況都會影響性能。
多花點時間在數據庫設計上,否則你將來會付出加倍的時間來償還。

時間證明,很多程序的效率問題其實都是數據庫的設計不合理引起的,所以能夠設計出合理的數據庫對,整個軟件和網站至關重要!

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享