資料庫命名規範
1、所有資料庫物件名稱必須使用小寫字母並用下劃線分割。
2、所有資料庫物件名稱禁止使用mysql保留關鍵字
3、資料庫物件的命名要能做到見名識義,並且最好不要超過32個字元。
4、臨時表必須以tmp為字首並以日期為字尾。
5、備份庫,備份表必須以bak為字首並以日期為字尾。
6、所有儲存相同資料的列名和列型別必須一致。
資料庫基本設計規範
1、所有表必須使用innodb儲存引擎。
2、資料庫和表的字符集統一使用utf-8
3、所有的表和字段都需要新增注釋。
4、盡量控制單錶資料量的大小,建議控制在500萬以內。
5、盡量做到冷熱資料分離,減少表的寬度。
5.1 減少磁碟io,保證熱資料的記憶體快取命中率。
5.2 有效的利用快取,避免讀入無用的冷資料。
5.3 經常使用的列放到乙個表中。
6、禁止在表中建立預留字段。
6.1 預留欄位的命名很難做到見名識義。
6.2 預留字段無法確認儲存的資料型別,所以無法選擇合適的型別。
6.3 對預留字段型別的修改,會對錶進行鎖定。
7、禁止在資料庫中儲存,檔案等二進位制資料。
9、禁止從開發環境,測試環境直連生產環境資料庫。
資料庫索引設計規範
資料庫字段設計規範
1、優先選擇符合儲存需要的最小的資料型別。
1.1 將字串轉化為數字型別儲存。
例如:inet_aton('255.255.255.255') = 4294967295
inet_ntoa(4294967295) = '255.255.255.255'
1.2 對於非負資料採用無符號整型進行儲存。
例如:signed int -2147483648 ~ 2147483648
unsigned int 0 ~ 4294967295
1.3 varchar(n) 中的n代表的是字元數,而不是位元組數。
1.4 使用utf-8儲存漢字 varchar(255) = 765個位元組。
1.5 過大的長度會消耗更多的記憶體。
2 避免使用text、blob資料型別。
3 避免使用enum資料型別。
4 盡可能把所有列定義為not null。
4.1 索引null列需要額外的空間來儲存,所以要占用更多的空間。
4.2 進行比較和計算時要對null值做特別的處理。
4.3 字串儲存日期型別的資料,是不正確的做法,
缺點1:無法用日期函式進行計算和比較。
5 使用timestamp或datetime型別儲存時間。
6 對於財務相關的金額類資料,必須使用decimal型別。
資料庫sql開發規範
1 建議使用預編譯語句進行資料庫操作。
2 避免資料型別的隱式轉換。
2.1 隱式轉換會導致索引失效。
3 充分利用表上已存在的索引。
避免使用雙%號的查詢條件。如 a like '%123%'.
乙個sql只能利用到復合索引中的一列進行範圍查詢。
使用left join或not exists來優化not in 操作。
4 避免使用子查詢,可以把子查詢優化為join操作
子查詢的結果集無法使用索引。
子查詢會產生臨時表操作,如果子查詢資料量大則嚴重影響效率。
消耗過多的cpu及io資源。
5 避免使用join 關聯太多的表
每join乙個表會多占用一部分記憶體(join_buffer_size)
會產生臨時表操作,影響查詢聊率。
mysql最多允許關聯61個表,建議不超過5個。
6 減少同資料庫互動的次數。
資料庫更適合處理批量操作。
合併多個相同的操作到一起,可以提高處理效率。
7 使用in代替or
in的值不要超過500個。
in操作可以有效的利用索引。
8 where 從句中禁止對列進行函式轉換和計算
對列進行函式轉換或計算會導致無法使用索引。
UI設計規範
以使用者為中心。設計由使用者控制的介面,而不是介面控制使用者。清楚一致的設計。所有介面的風格保持一致,所有具有相同含義的術語保持一致,且易於理解 較快的響應速度。簡單且美觀。使用者介面設計的乙個重要原則是使用者應該總是感覺在控制軟體而不是感覺被軟體所控制。操作上假設是使用者 而不是計算機或軟體 開始...
硬體設計規範
1 硬體需求說明書 2 硬體總體設計報告 3 單板硬體總體設計方案 4 單板硬體詳細設計 5 單板硬體過程除錯文件 6 單板硬體系統除錯報告 7 單板硬體測試文件 8 硬體總體方案歸檔詳細文件 9 硬體單板總體方案歸檔詳細文件 10 硬體資訊庫 2.2.2 硬體開發文件編制規範詳解 1 硬體需求說明...
常用設計規範
暖通空調製圖標準gb t 50114 2001 人民防空地下室設計規範 gb 50038 2005 室內管道支架及吊架圖集 建築給水排水設計規範 gb 50015 2003 汽車庫 修車庫 停車場設計防火規範 gb 50067 97 通風與空調工程施工質量驗收規範 gb 50243 2002 高層民...