我现在在用ssh开发一个小的框架。我再建立用户表的时候,是将用户的信息,权限,部门这些放在一张表中合适呢,还是把用户信息,权限,密码分开为多张表合适呢,那种效率高一些,或者说更好用一些。

解决方案 »

  1.   


    主要是在考虑权限,跟密码这一块。这个其实和具体什么字段是没有关系的,考虑的主要是查询效率问题。
    你说的拆分表,其实就是垂直分表。垂直分表可以使得数据行变小,一个数据页就能存放更多的数据,在查询时就会减少I/O次数。其缺点是需要管理冗余列,查询所有数据需要join操作。如果你的字段不多,或者说基本都是常用字段,如果做了垂直分表,JOIN的开销反而大过了你IO的收益,是没有好处的。
      

  2.   

    我上面说的是针对SQL SERVER,其他数据库情况不太了解。