数据命名规范
- 所有数据库对象名称必须使用小写字母并用下划线分割。
- 所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)。
- 数据库对象的命名要能做到见名识意,并且最后不要超过 32 个字符。
- 临时库表必须以 tmp 为前缀并以日期为后缀,备份表必须以 bak 为前缀并以日期 (时间戳) 为后缀。
- 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低)。
数据库基本设计规范
1、所有表必须使用 InnoDB 存储引擎 没有特殊要求(即 InnoDB 无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用 InnoDB 存储引擎MySQL 5.5 之前默认使用 Myisam,5.6 以后默认的为 InnoDBInnoDB
支持事务,支持行级锁,更好的恢复性,高并发下性能更好。
2、数据库和表的字符集统一使用 UTF8MB4
兼容性更好,统一字符集可以避免由于字符集转换产生的乱码,不同的字符集进行比较前需要进行转换会造成索引失效。
3、所有表和字段都需要添加注释
使用 comment 从句添加表和列的备注 从一开始就进行数据字典的维护。
4、尽量控制单表数据量的大小,建议控制在 500 万以内
500 万并不是 MySQL 数据库的限制