mysql 使用規範 MySQL使用規範

2021-10-20 22:16:48 字數 1293 閱讀 2787

一、    表設計類

強制類規範

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.建表時不允...