存储所有用户的登录日期

时间:2017-11-12 10:46:32

标签: mysql sql database

让我们说我有一个网站,我想知道在特定时间间隔内登录的所有用户。

为此目的在数据库中创建新表并在用户登录时添加新条目是不是一个好主意?

该表将包含2列:用户的ID和登录日期。

我主要担心的是表格中的条目数量会变得非常大。

这可以被视为一个好主意吗?您知道这种方法是否适用于其他网站?

提前致谢!

3 个答案:

答案 0 :(得分:1)

表中的记录数可以通过外部脚本控制,该脚本放在cron / scheduler上。如果它变得太大,可以删除旧记录

如果不可能,作为解决方法,可以检查每个插页上的记录数

不要忘记在日期字段上设置索引......

答案 1 :(得分:0)

是的,您可以创建一个记录每个用户的所有登录时间的表。如果有数百万用户,您可能希望存储最近的登录时间。如果空间不是问题,那么每次用户通过身份验证或授权时都可以存储登录时间。像这样,您可以定期存档此表中的数据。

答案 2 :(得分:-1)

这个问题的一般答案是'取决于'。 你可以:

  • 登录时将用户添加到表中。您为每个用户点击了磁盘,因此请注意大量用户。
  • 您将一堆用户存储在内存中,并以特定大小或时间写入所有组。这样可以减少磁盘次数。
  • 根据您期望的用户数量,您可以考虑使用无SQL解决方案。

根据您的系统,我建议采用第二种方法

阅读本文以获取更多信息:Fast write performance, even if reads are very slow