日期:2014-05-18  浏览次数:20712 次

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

------解决方案--------------------
引用:
Quote: 引用:

看情况了,如果字段很多,需要根据常用和不常用切表,如果字段就那么几个,没必要这么做。


主要是在考虑权限,跟密码这一块。


这个其实和具体什么字段是没有关系的,考虑的主要是查询效率问题。
你说的拆分表,其实就是垂直分表。

垂直分表可以使得数据行变小,一个数据页就能存放更多的数据,在查询时就会减少I/O次数。其缺点是需要管理冗余列,查询所有数据需要join操作。

如果你的字段不多,或者说基本都是常用字段,如果做了垂直分表,JOIN的开销反而大过了你IO的收益,是没有好处的。