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

asp mvc记录用户登录信息的问题
我打算记录将用户通过IE访问的信息(用户名、IP地址、登入时间、退出时间)保存到数据库中,有如下一些不明之处:
1、肯定需要在数据库中创建一张表记录上述信息,表的主键应该是什么?
2、这张表的字段有两种设计:
A
  用户名,
  用户IP,
  状态, -----区分是登入还是退出
  时间, -----记录登入或退出的时间
B
  用户名,
  用户IP,
  登入时间,
  退出时间,

这两种设计哪种好实现?对于B如何将用户的一次登入时间和其登出时间对应起来?
3、如果用户没有正常退出,那么是否也会在数据库中写入退出时间呢?

------解决方案--------------------
1、主键用自增ID,因为这种日志表数据量都比较大,写入比较多,要使用有序的主键,这样性能好,省的数据库调整聚集索引,当然你也可以用DateTime.Ticks,是有序的 也是有时间意义的。

2、推荐第二种 ,扩展性比较好,用户行为是一对多的关系,以便以后增加其他的扩展

3、非正常退出没必要记录,浪费空间。