一、基礎規范
解讀:支持事務、行級鎖、并發性能更好、CPU及內存緩存頁優化使得資源利用率更高
解讀:萬國碼,無需轉碼,無亂碼風險,節省空間
解讀:N年后誰tm知道這個r1,r2,r3字段是干嘛的
解讀:高并發大數據的互聯網業務,架構設計思路是“解放數據庫CPU,將計算轉移到服務層”,并發量大的情況下,這些功能很可能將數據庫拖死,業務邏輯放到服務層具備更好的擴展性,
(5)禁止存儲大文件或者大照片
二、命名規范
(7)線上環境、開發環境、測試環境數據庫內網域名遵循命名規范
線上環境:dj.xxx.db
測試環境:dj.xxx.tdb
線上從庫:dj.xxx-s.db
(8)庫名、表名、字段名:小寫,下劃線風格,不超過32個字符,必須見名知意,禁止拼音英文混用
三、表設計規范
(11)單表列數目必須小于30
解讀:
b)主鍵要選擇較短的數據類型, Innodb引擎普通索引都會保存主鍵的值,較短的數據類型可以有效的減少索引的磁盤空間,提高索引的緩存效率
(13)禁止使用外鍵,如果有外鍵完整性約束,需要應用程序控制
用以性能優先
(14)必須把字段定義為NOT NULL并且提供默認值
a)null的列使索引/索引統計/值比較都更加復雜,對MySQL來說更難優化
c)null值需要更多的存儲空,無論是表還是索引中每行中的null的列都需要額外的空間來標識
就不會包含name為null值的記錄
解讀:會浪費更多的磁盤和內存空間,非必要的大量的大字段查詢會淘汰掉熱數據,導致內存命中率急劇降低,影響數據庫性能
解讀:使用整數吧,小數容易導致錢對不上
解讀:
b)手機號會去做數學運算么?
(18)禁止使用ENUM,可使用TINYINT代替
a)增加新的ENUM值要做DDL操作
b)ENUM的內部實際存儲就是整數,你以為自己定義的是字符串?
分享文章:學習數據庫必須要了解這18條
新聞來源:http://m.newbst.com/news16/105366.html
成都網站建設公司_創新互聯,為您提供網站制作、品牌網站建設、建站公司、外貿建站、面包屑導航、小程序開發
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯