【数据库】数据库设计规范

数据库设计规范:

一 命名规范:

1、所有数据库对象名称必须使用小写字母并用下划线分割
2、所有数据库对象名称禁止使用MySQL保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)

3、数据库对象的命名要做到见名识意,并且最好不超过32个字符
4、临时表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀
5、所有存储相同数据的列名和列类型必须一致

二 数据库基本设计规范:

1、所有表必须使用Innodb存储引擎(MySQL5.5之前默认使用MyIsam,5.6以后默认的为Innodb)
2、数据库和表的字符集统一使用utf8mb4的utf8mb4_0900_ai_ci字符集(数据库版本mysql8以上)
3、所有表和字段都需要添加注释(使用 comment 从句添加表和列的备注)
4、尽量控制单表的数据量大小,建议控制在500万以为。
5、谨慎使用MySQL分区表
6、尽量做到冷热数据分离,减小表的宽度
MySQL 的sql_mode不能设置为only_full_group_by模式

7、禁止在表中建立预留字段
8、禁止在数据库中存储图片,文件等大的二进制数据
9、禁止在线上环境做压力测试
10、禁止从开发环境,测试环境直接连接生产环境数据库
11、外键关联表时必须设置级联删除和级联更新(ON DELETE cascade ON UPDATE cascade)

三 数据库字段设计规范:

1、优先选择符合存储需要的最小的数据类型

原因: 列的字段越大,建立索引时所需要的空间也就越大,这样一页中所能存储的索引节点的数量也就越少,遍历时所需要的IO次数也就越多。

2、避免使用TEXT,BLOB数据类型,最常见的TEXT类型可以存储64K的数据
a. 建议把 BLOB 或是 TEXT 列分离到单独的扩展表中
b.TEXT 或 BLOB 类型只能使用前缀索引**

3、避免使用枚举ENUM类型
ENUM 类型的 ORDER BY 操作效率低

4.尽可能把所有列定义为NOT NULL<

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神精兵院院长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值