mysql数据库设计规范
一、数据库设计规范
1.使用innodb引擎
2.数据库和表的字符集统一使用utf8
3.所有表和字段添加注释
4.单表数据量控制<500w
5.谨慎使用mysql分区,跨区查询影响性能
6.冷热数据分离,缓存
7.禁止在数据库中存储图片,文件等大的二进制数据
8.禁止在线上做数据库压力测试
9.禁止从开发和测试环境直接连线上数据库
10.禁止使用select * 查询
11.避免使用not in,会使索引失效,用not exists代替
12.避免使用子查询,尽量转化为join操作,因为子查询的结果集没有索引
13.使用in代替or
14.where从句中禁止使用函数转换和计算
二、数据库字段设计规范
1.选择符合存储需要的最小的数据类型
2.避免使用text,blob数据类型,因为他们不支持内存临时表
3.避免使用ENUM类型,因为ENUM类型的order by操作效率低
4.尽可能把所有列定义为NOT NULL
5.使用timestamp或datetime类型存储时间
使用字符串存储时间不容易计算和比较,还占用更多的空间
6.同财务相关的金融类数据必须使用decimal类型
三、数据库索引设计规范
1.限制每张表的索引数量,单张表索引不超过5个
2.每个innodb表必须有个主键
3.避免使用双引号的查询条件
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341