mysql数据库建表的几点建议
- 绝大多数表单表列数保持在15个之内,若是你的字段超过15个,你应该考虑根据业务对表作垂直分表,数据拆分,这样既保证业务数据清晰,又能减轻单表读写压力
- 列数据选择正确的相关类型存储,如 int,char, varchar
- 建表时同时创建索引(固然视状况而定,有的表不须要建索引,就不要多此一举了), 避免上线后发现各类慢的问题再去建索引,这样直接影响线上业务,若是恰好须要建索引的表数据量大,且读写访问频繁,则很大概率直接致使服务宕机(线上环境你敢让服务宕机?),虽然能够经过其余工具或复制表的方式规避这个问题,可是若是开始就能建好,何须后面的这些麻烦呢
- 建大数据量表时,同时创建分区,例如按时间分区,按自增ID分区,避免上线后修改,影响线上业务,固然分区也只是一种方式,你也能够提早设计好分库分表模式或单库分表模式,这里分表指水平分表,垂直分表终究仍是没法解决单表数据量大的问题,总之提早设计好,否则就是给本身或者后面来的人挖坑
- 列字段设置相关默认值,避免出现为(null, none)时,程序在对取出的数据作比较或判断时出现异常,而这个异常出现几率极低,致使测试也没发现(本人亲身经历,int字段默认为null, 取出的数据有些为数字,有些为null,致使测试环境程序没问题,线上环境出错)
欢迎关注本站公众号,获取更多信息