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,数据更新时为当时的更新时间

转载于:https://www.cnblogs.com/wangdonghua/p/10740086.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值