gpt4 book ai didi

php - 以下哪种方法可以提供最快的页面加载速度?

转载 作者:行者123 更新时间:2023-11-29 14:53:30 24 4
gpt4 key购买 nike

我正在 MySQL 中构建一个数据库,该数据库将由 PHP 脚本访问。我有一个表,它是事件流。这包括网站上发生的所有事情(许多不同的事情、喜欢、投票等)。在此事件流中,我将根据每个用户的事件运行算法并显示相关事件。在事件上运行算法后,我应该创建另一个表来存储每个用户的事件,还是应该在每次用户访问网站时在事件表上运行算法?

更新:(这就是上面的内容,只是希望以更容易理解的方式重新表述)

我有一个名为activity的数据库表。每次用户在网站上执行操作时,此表都会创建一个新行。

每次用户登录时,我都会对适用于他们的表(activity)中的新行(自用户上次登录以来)运行算法。例如,如果用户正在关注在事件流中对帖子进行投票的用户,则该帖子将在用户登录时显示。我希望用户能够访问以前应用于他们的内容。创建另一个表来保存已经用算法运行过的行(除了附加到单个用户名之外)是否是最简单的? (一行可以应用于多个不同的用户)

最佳答案

我将从一个表和适当的索引开始。使用 union 语句,您可以执行多个查询(使用不同的索引),然后将所有结果混合在一起。

举个例子,假设您与用户 37、42 和 56 是 friend ,并且您对篮球和编织感兴趣。并且,假设您有一个关于 user_id 的索引和一个关于 subject 的索引。这个查询应该相当高效。

SELECT * FROM activity WHERE user_id IN (37, 42, 56)
UNION DISTINCT
SELECT * FROM activity WHERE subject IN ("basketball", "knitting")
ORDER BY created
LIMIT 50

关于php - 以下哪种方法可以提供最快的页面加载速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5204515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com