1. 可用性
举一个简单的例子,就像现在博客园可以上传的字符数量,如果该字段的长度只有500字,这显然不能满足场景的要求
2. 适当超前
超前到什么程度需要根据对应用的预期来定。拿QQ来说,马化腾最初肯定预见不到QQ能有目前的用户量与活跃度,毕竟那是近20年前的事情了。
对于本文设定的应用场景,我们把超前设定为网站的文章数量达到了千万级。这时如果只把文章存在一张数据表里,读写性能必然是会急剧下降的,这必然会导致用户体验变差,用户流失。
合理的解决方案之一是分为两张数据表,一张存储热门文章,另一张存储非热门文章。毕竟热门文章占少数,热门文章的加载速度相对就更快了。
3. 数据库字段类型选择
当一个列可以选择多种数据类型时,应该优先考虑数字类型,其次是日期或者二进制类型,最后是字符类型。
decimal用于存储精确数据,而float只能用于存储非精确数据。故精确数据只能选择用decimal类型。
4. 主键的选择
尽量与业务不相关,占空间尽可能小
5. 避免使用外键
增加维护成本,降低数据导入效率