数据表设计的一个小小疑问

最近在看别人的项目,发现有的项目将用户表和用户余额表分开来创建

用户 -----> user 表
用户余额 ----> user_balance 表(里面包含了用户id和用户的余额数量)

741824-20160816002632156-637059328.png

但是有的人又将用户余额表和用户表创建为一张表

所以就懵逼了,不知道哪种更好一点??

分开来创建的话不是冗余了???
而且每次查询用户余额的时候先去用户表查询用户ID再去用户余额表查询余额 不是查询了两次 让数据库开销更大吗????

阅读 1.7k
评论
    11 个回答
    • 102

    这种设计方法,简而言之就是(用户简单信息表->用户详细信息表)这种模式分开。
    如果写在了同一张表中:

    优点:用户进入个人中心查询详细信息只需要一次查询而不是用户表连接查询。提高效率。
    缺点:用户信息表字段过多,比如有20个用户信息字段,那么用户表就有20个字段。登陆注册的时候,只需要用户名和密码的,但是表过于大,会降低效率。

    如果分开两张表:

    优点:用户简单信息表,只保存用户id,用户名,密码,等必查项。对用户登录注册比较方便。毕竟详细信息不会每天都查。提高效率
    缺点:查询详细信息的时候,需要表连接,降低效率。
    

    以上这只是最浅显的分析,容易理解。更深层次的分析如何设计数据库,还需要更多的场景和业务需求

      相似问题
      推荐文章