Mysql设计规范

  1. 主键推荐默认用递增
  2. 字符串大小合理设置
  3. 数据库默认字段: 主键、创建人、创建时间、修改人、修改时间、逻辑删除(可选)、乐观锁(可选)
  4. 冗余字段: 严禁冗余变更字段;例如: 创建人名称,租户名称等;
  5. 时间采用mysql默认创建和修改,减少代码层面错误
sql 复制代码
created_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  1. 字段严禁用is_开头
  2. 当表结构为 区域/菜单 等有层级关系式,应考虑添加 父级全路径字段path ,方便后续查询,减少递归查询
  3. mysql数据库中不推荐存储文件(二进制流等)
  4. 表应该根据业务区分,区分后有不同的前缀,方便后续分库等处理
  5. 所有字段应为小写
  6. 不能使用mysql保留关键字
  7. 慎重添加索引 (联合索引 查询索引)
  8. 涉及到金额计算,必须使用decimal
  9. 所有表名,字段需要加注释(公共字段可以不加)
  10. 尽量不要出现宽表,在设计上避免
  11. 适当冗余字段,减少不必要的关联查询
相关推荐
小鸡毛程序员7 分钟前
我在CSDN学MYSQL之----数据库基本概念和基本知识(下)
数据库·mysql
米花町的小侦探25 分钟前
解决 GORM + MySQL 5.7 报错:Error 1067: Invalid default value for ‘updated_at‘
mysql
程序定小飞1 小时前
基于springboot的web的音乐网站开发与设计
java·前端·数据库·vue.js·spring boot·后端·spring
小灰灰搞电子1 小时前
Rust 操作Sqlite数据库详细教程
数据库·rust·sqlite
IvorySQL2 小时前
你真的知道你正在运行哪个 PostgreSQL吗?
数据库·postgresql
l1t2 小时前
利用DeepSeek采用hugeint转字符串函数完善luadbi-duckdb的decimal处理
数据库·lua·c·duckdb·deepseek
无敌最俊朗@2 小时前
Qt 开发终极坑点手册图表版本
数据库
老衲提灯找美女3 小时前
MySQL数据库基础操作:
数据库·mysql·oracle
轻舟客丶3 小时前
ORA-03113的解决方案
数据库·经验分享·笔记·oracle
ヾChen3 小时前
头歌MySQL——复杂查询
数据库·物联网·学习·mysql·头歌