`

mysql开发规范

 
阅读更多

1. 库名、表名、字段名

        必须使用小写字母,并采用下划线分割,

        禁止超过32个字符,

        禁止使用MySQL保留字,

        表字符集使用UTF8,

        要和业务相关有统一前缀,

        要有注释。

         

 

 

2. 使用INNODB存储引擎。

 

 

3.  所有字段均定义为NOT NULL,  必须定义默认值: 0 或 空字符串。

 

4. create_time 字段 尽量使用  TIMESTAMP,

 

5. 禁止在数据库中存储明文密码,必须MD5或其他不可逆方式加密

 

6. 每个表必须有主键。

 

7. 不在低基数列上建立索引,例如“性别”。

 

8. 用IN代替OR。SQL语句中IN包含的值不应过多,应少于1000个。 

 

9. 减少与数据库交互次数,尽量采用批量SQL语句 (脚本批量执行有效提高性能)。

    INSERT ... ON DUPLICATE KEY UPDATE

    REPLACE INTO

    INSERT IGNORE INTO

 

    INSERT INTO VALUES(),(),()

    UPDATE CASE

 

10. 拆分复杂SQL为多个简单小SQL,避免大事务

 

11. 如无特殊情况,避免使用存储过程、触发器、视图、自定义函数等。

 

12. 禁止有super权限的账号在开发中使用。

 

13. 提交线上建表改表需求,必须详细注明涉及到的所有SQL语句(包括INSERT、DELETE、UPDATE),便于DBA进行审核和优化。

 

14. 无特殊情况,禁止在循环中执行sql

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics