一、 表設計類
強制類規範
1. 建立表的儲存引擎必須是innodb。
2. 每個表必須顯式的指定乙個主鍵。
3. 不允許使用聯合主鍵。
4. 不允許使用外來鍵。
5. 不允許存在和主鍵重複的索引。
6. 自增長字段必須是主鍵或唯一索引。
7. 不允許在資料庫中儲存諸如,影像之類的二進位制資料。
8. 不允許使用text型別字段
9. 建表時不允許顯式的指定除了utf8之外的其他字符集。
10. 對於所有宣告為not null的字段,必須顯式指定預設值。
11. 必須包含時間戳字段datachange_lasttime,定義預設值為current_timestamp和on update current_timestamp,並新增索引。
建議類規範
1. 建議使用自增長字段作為主鍵。
2. 對較長的字元型別,如果需要索引,則建立字首索引。
3. 不建議在資料庫存放日誌。
4. 建議將字段都定義為not null。
5. 選用能滿足需求的最小型別。
6. 避免使用保留字命名db物件。
7. 對錶和字段都新增備註說明。
二、 sql類
強制類規範
1. 禁止使用子查詢。
2. 禁止使用select *,必須指定需要的字段。
3. update/delete只能單錶操作,不允許多表關聯,不允許用子查詢,且一定要帶where條件。
4. insert語句要顯式指定插入的列名,且不允許使用insert .... select的形式。
5. 不允許使用儲存過程、儲存函式、觸發器和檢視。
6. 單條查詢語句中,不允許出現多於一次的join。
7. 不要在where後的篩選欄位上做運算。
建議類規範
1. 盡量不要在資料庫裡做運算。
2. 盡量不要做『%』字首模糊查詢,如 like '%name'。
3. 不要使用大偏移量的limit分頁。
4. 連線mysql不要設定成autocommit=0。
5. 批量insert語句最好採用bulk insert的方法,如insert into table(***) values (***),(***)。
6. update/delete盡量根據主鍵進行操作。
7. 儘量減少count()的使用,尤其是用來頻繁獲取全表記錄數。
8. 使用group by時,如無排序的需求,建議加order by null。
9. join中使用的關聯字段使用統一資料型別。
mysql 使用規範 MySQL使用規範
mysql使用規範 一 核心規範 www.2cto.com 1.不用資料庫做運營,如md5 order by rand 2.控制單錶資料量 a 單錶純int不超過1000w b 單錶含char不超過500w c 單庫不超過300 400個表 3.表字段數少而精 a 影響因素 i.io高效 ii.全表...
mysql使用規範 MySQL使用規範 MySQL
bitscn.com mysql使用規範 一 核心規範 1.不用資料庫做運營,如md5 order by rand 2.控制單錶資料量 a 單錶純int不超過1000w b 單錶含char不超過500w c 單庫不超過300 400個表 3.表字段數少而精 a 影響因素 i.io高效 ii.全表遍歷...
MySQL使用規範
強制類規範 1.建立表的儲存引擎必須是innodb。2.每個表必須顯式的指定乙個主鍵。3.不允許使用聯合主鍵。4.不允許使用外來鍵。5.不允許存在和主鍵重複的索引。6.自增長字段必須是主鍵或唯一索引。7.不允許在資料庫中儲存諸如,影像之類的二進位制資料。8.不允許使用text型別字段 9.建表時不允...