某大型互联网公司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个以内。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄