大佬教程收集整理的这篇文章主要介绍了php-最新访客,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设您要在用户个人资料页面上显示最新访问者.
您将如何构成?也许一个叫做uservisitors的表:
> userid(获得访问的用户)
> visitorid(访客)
>时间
以及如何选择mysql?没有任何重复,我的意思是,如果用户1访问用户2的个人资料,然后5分钟后再次访问,我不希望它只显示最新的两个条目
干杯!
解决方法:
SELECT visitorid, MAX(time) AS lastvisit
FROM uservisitors
WHERE userid = ?
GROUP BY
userid, visitorid
ORDER BY
lastvisit DESC
LIMIT 5
在(用户ID,访客ID,时间)上创建一个复合索引,以使其更快地工作.
该查询:
SELECT visitorid
FROM uservisitors ui
WHERE userid = ?
NOT EXISTS
(
SELECT NULL
FROM uservisitors uo
WHERE uo.userid = ui.userid
AND uo.visitorid = ui.visitorid
AND uo.time > ui.time
)
ORDER BY
time DESC
LIMIT 5
如果您有许多不同的访问者,则可能会更有效率.
在这种情况下,您将需要一个索引(用户ID,时间,visitorid).
更新:
以上是大佬教程为你收集整理的php-最新访客全部内容,希望文章能够帮你解决php-最新访客所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。