資料庫命令及設計規範

2021-09-26 06:16:34 字數 1066 閱讀 2165

資料庫命令規範

資料庫基本設計規範

所有表必須使用 innodb 儲存引擎

沒有特殊要求(即 innodb 無法滿足的功能如:列儲存,儲存空間資料等)的情況下,所有表必須使用 innodb 儲存引擎(mysql5.5 之前預設使用 myisam,5.6 以後預設的為 innodb)。

innodb 支援事務,支援行級鎖,更好的恢復性,高併發下效能更好。

資料庫和表的字符集統一使用 utf8

相容性更好,統一字符集可以避免由於字符集轉換產生的亂碼,不同的字符集進行比較前需要進行轉換會造成索引失效,如果資料庫中有儲存 emoji 表情的需要,字符集需要採用 utf8mb4 字符集。

所有表和字段都需要新增注釋

使用 comment 從句新增表和列的備註,從一開始就進行資料字典的維護

盡量控制單錶資料量的大小,建議控制在 500 萬以內

500 萬並不是 mysql 資料庫的限制,過大會造成修改表結構,備份,恢復都會有很大的問題。可以用歷史資料歸檔(應用於日誌資料),分庫分表(應用於業務資料)等手段來控制資料量大小

謹慎使用 mysql 分割槽表

分割槽表在物理上表現為多個檔案,在邏輯上表現為乙個表;謹慎選擇分割槽鍵,跨分割槽查詢效率可能更低;建議採用物理分表的方式管理大資料。

6.盡量做到冷熱資料分離,減小表的寬度

mysql 限制每個表最多儲存 4096 列,並且每一行資料的大小不能超過 65535 位元組。減少磁碟 io,保證熱資料的記憶體快取命中率(表越寬,把錶裝載進記憶體緩衝池時所占用的記憶體也就越大,也會消耗更多的 io);更有效的利用快取,避免讀入無用的冷資料;經常一起使用的列放到乙個表中(避免更多的關聯操作)。

禁止在表中建立預留字段

預留欄位的命名很難做到見名識義。預留字段無法確認儲存的資料型別,所以無法選擇合適的型別。對預留字段型別的修改,會對錶進行鎖定。

禁止在資料庫中儲存,檔案等大的二進位制資料

通常檔案很大,會短時間內造成資料量快速增長,資料庫進行資料庫讀取時,通常會進行大量的隨機 io 操作,檔案很大時,io 操作很耗時。通常儲存於檔案伺服器,資料庫只儲存檔案位址資訊

禁止開發環境、測試環境直接連線生成環境資料庫

資料庫命名及設計規範

1.資料庫涉及字元規範 我們約定 採用26個英文本母 區分大小寫 和0 9這十個自然數,加上下劃線 組成,共63個字元。不能出現其他字元 注釋除外 2.資料庫物件命名規範 我們約定,資料庫物件包括表 檢視 查詢 儲存過程 引數查詢 函式 約束。物件名字由字首和實際名字組成,長度不超過30。字首 使用...

資料庫命名及設計規範

1.資料庫涉及字元規範 我們約定 採用26個英文本母 區分大小寫 和0 9這十個自然數,加上下劃線 組成,共63個字元。不能出現其他字元 注釋除外 2.資料庫物件命名規範 我們約定,資料庫物件包括表 檢視 查詢 儲存過程 引數查詢 函式 約束。物件名字由字首和實際名字組成,長度不超過30。字首 使用...

資料庫設計規範

使用明確 統一的標明和列名,例如 school,schoolcourse,courceid。資料表名使用單數而不是複數,例如 studentcourse,而不是studentcourses。資料表名不要使用空格。資料表名不要使用不必要的字首或者字尾,例如使用school,而不是tblschool,或...