|
|
1
4
你需要一块饼干,因为人们可能不会 登录 每天——例如,因为他们自动登录2周,或者因为他们在你的网站上不停地做50小时的没有睡眠和午餐的事情:)你可能真的想在用户访问网站时计算。 现在,理论上可以记录每个访问并执行数据库查询,正如上面所建议的那样,但是您可能认为(像我一样)它在实用性和隐私+简单性之间达到了错误的平衡。 您指定的算法有一个明显的缺陷:由于您只存储完整的天数,所以您会错过每12小时登录和注销一次的用户(您的算法将天数保持为1)。 这是我发现最干净的解决方案 二 每个用户的日期字段,以一种自我解释的非面向对象的python:
(请原谅我的蟒蛇技能,我是一个学术和第一次网站用户) 您不能用 一 变量。我相信有人可以写一个明确的论点来证明这个事实。 |
|
|
2
2
实际上,如果成员的访问位于SQL数据库中,那么您可以使用单个SQL查询来完成整个工作。这也可能比将所有数据传输到客户端程序以进行检查更快:
|
|
|
3
1
用时间戳跟踪数据库中的每个访问(您可能已经这样做了)。然后创建一个SQL语句并按天对结果进行分组,同时计算当天的访问次数。在过去30天内,不允许有0天的访问… |
|
|
4
1
我支持罗普斯塔的方法。诸如登录时间等用户统计信息通常在数据库中可用。我们需要从现有数据中得出某些事实。因此,我不希望每次访问都有一个计数器和递增的内容,而是希望有一个批处理作业,它运行在用户登录数据上,并发布当天的结果。 但是一旦一个用户“求爱”了,你可能会想停止计算那个用户的“求爱”程度。 否则,用户每天都有机会得到“求爱”,直到遇到一个没有登录的日子。(但这是个小问题)。 |
|
|
5
0
如果这是您唯一想要记录的东西,那么这可能是一个好的解决方案。但是,我喜欢将逻辑和日志分开,这两者都是为了增加我可以使用的原始信息量,并且允许在不破坏现有数据的情况下调整逻辑。 在这种情况下,我会记录每次访问或每个操作(取决于需求/空间等),然后在某个地方编写一个存储过程或方法,该存储过程或方法检查数据并返回“真”(与标记的标准匹配)或“假”(与标准不匹配)。 我创建一个特定模式来保存这样的信息的唯一情况是,所需的计算时间太长,可能是因为数据量太大,也可能是因为数据的复杂性。 |
|
|
developer · 带外键的SQL表设计 1 年前 |
|
|
relatively_random · 确保两个表之间一致的共同参考 1 年前 |
|
|
b126 · 在两种不同的Oracle模式上执行相同查询的速度差异很大 2 年前 |
|
|
robertspierre · 在多对多关系中自动删除未引用的行 2 年前 |
|
|
Michael Samuel · MYSQL在以下情况下自动创建索引 8 年前 |