zoukankan      html  css  js  c++  java
  • 数据库设计除了需要遵守范式还需要的遵守的原则

    1. 可用性

    举一个简单的例子,就像现在博客园可以上传的字符数量,如果该字段的长度只有500字,这显然不能满足场景的要求

    2. 适当超前

    超前到什么程度需要根据对应用的预期来定。拿QQ来说,马化腾最初肯定预见不到QQ能有目前的用户量与活跃度,毕竟那是近20年前的事情了。

    对于本文设定的应用场景,我们把超前设定为网站的文章数量达到了千万级。这时如果只把文章存在一张数据表里,读写性能必然是会急剧下降的,这必然会导致用户体验变差,用户流失。

    合理的解决方案之一是分为两张数据表,一张存储热门文章,另一张存储非热门文章。毕竟热门文章占少数,热门文章的加载速度相对就更快了。

    3. 数据库字段类型选择

    当一个列可以选择多种数据类型时,应该优先考虑数字类型,其次是日期或者二进制类型,最后是字符类型。

    decimal用于存储精确数据,而float只能用于存储非精确数据。故精确数据只能选择用decimal类型。

    4. 主键的选择

    尽量与业务不相关,占空间尽可能小

    5. 避免使用外键

    增加维护成本,降低数据导入效率

  • 相关阅读:
    第三次实验总结
    实验总结
    自我介绍
    BGP学习笔记
    source insight用于C语言编程的工具脚本
    LevelDB源码剖析
    LevelDB源码之五Current文件Manifest文件版本信息
    LevelDB源码之六缓存机制
    LevelDB源码之四LOG文件
    jQuery向动态生成的内容添加事件响应
  • 原文地址:https://www.cnblogs.com/cuteCoderSnow/p/10062648.html
Copyright © 2011-2022 走看看