关于api的表优化及代码优化小结
提示:近期有空整理下mysql设计注意点吧
一、表设计方面
- 建表要求三范式
- 5个必须字段is_del,create_time(CURRENT_TIMESTAMP),create_user,update_time(CURRENT_TIMESTAMP),update_user
- 查询规避掉*
- 对于枚举或者删除类型使用tinyint
- string类型使用索引就得not null,频繁的要考虑,固定类型也不一定需要加,text大字段不加
- 如果字段超过10k的存储了建议分表
- 数据量大的时候考虑水平或者垂直拆表了
- 不存储明文密码、手机号、身份证等
二、代码设计方面
- 规避使用连表查询
- 查询list尽量使用map方式,批量查询
- 不使用带计算的sql
- 能使用缓存替代的尽量替代
总结
工作中其实养成好的编码和设计习惯能规避掉大部分慢查询和慢api,这些做好了进阶就是项目设计了,这才是接下来需要加油的。