mysql数据建模规范

某大型互联网公司mysql设计规范
总体原则:
I: 反第三范式-->第三范式仅仅是在大学里用的,出来后,不能随便用;
II: 数据冗余 --> 一张表几百万甚至上千万数据,你不搞数据冗余,以后数据量上来了,查询肯定很慢。
 
具体原则:
1 字段设计:最短最小原则,够用即可,可以用varchar(10)的,不要用varchar(20),能用smallint的,不要用int
2 字段类型:能用数字的,不要用varchar,数字类型的,查询速度要优于字符串
3 字段数量:不要超过50个
4 字段命名:见名知意,简单明了,驼峰表示,不要用大小写,那是java语言的规范
5 常规表,应该都包含以下字段 create_user create_time update_user  update_time
6 根据需要,设计is_delete字段,选择进行逻辑删除还是物理删除。
7 sys_version,存在并发更新的表,可以添加该字段:
  update table set col1 = value1,sys_version = sys_version + 1 where id = id and sys_version = sys_version
8 尽量不要有join查询,如果确实需要join,join的数量,不能超过3个
9 不要设计物理外键
10 不要在sql语句上叫mysql进行隐士类型转换
11 尽量不要在mysql的字段上进行函数运算,尤其是索引列.
12 百万以上数据,再考虑建立索引,字符串类型要建立前置索引,索引数量,限制个5个以内。
13 不要用视图,存储过程
14 设置ts字段(timestamp),初始值为insert time,数据更新时为当时的更新时间
posted @   空虚公子  阅读(1504)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示