![]() |
1
1
鉴于您拥有的数据,您可能无法更快地执行任何操作,因为您必须查看登录和注销记录,并确保这两个记录之间没有相同用户的其他登录(或注销?)记录。 或者,找到确保断开连接记录注销的方法,以便数据完整(而不是20%完整)。但是,查询可能仍然必须确保满足所有条件,因此它对查询没有多大帮助。
|
![]() |
2
0
您是否有可以超时会话的SessionManager类型对象?因为可以在那里记录超时,您可以从中获取最后一次活动时间和超时时间。 或者您将所有活动记录在网站/服务上,这样您就可以直接查询网站/服务访问持续时间,并查看他们执行了哪些活动。对于网站,Apache日志分析器可能会生成所需的统计信息。 |
![]() |
3
0
我同意JeeBee的观点,但是SessionManager类型对象的另一个优点是,您可以处理sessionEnd事件并编写一个包含活动时间的注销行。这样,您可能会从20%的伴随注销行变为100%的伴随注销行。查询活动时间对于所有会话来说都是琐碎且一致的。 |
![]() |
4
0
如果只有20%的用户实际注销,此搜索不会为您提供每个会话的准确时间。衡量平均用户会话时间的更好方法是计算操作之间的平均时间,或每页的平均时间。然后,这可以乘以每次访问的平均页数/操作数,以获得更准确的时间。 此外,您可以确定每个页面的平均时间,然后获得会话结束时间=到该点的会话时间+在最后一页上花费的平均时间。这将为您提供对每个会话花费的时间的更细粒度(和准确)的度量。 对于给定的SQL,它似乎比您真正需要的更复杂。在数据库外部的代码中,这类统计操作通常可以得到更好的处理/更易于维护,在数据库中,您可以拥有所选语言的全部功能,而不仅仅是SQL在统计计算方面相当复杂的功能 |
![]() |
Novice User · Joda持续时间转换为最近的ceil 7 年前 |
![]() |
Amodar · Java Date给出的时差不正确,提前1小时跳转 11 年前 |
|
Specialist Min · IAP自动更新的持续时间 11 年前 |