gpt4 book ai didi

mysql - "trending"函数 la reddit/hackernews 性能问题

转载 作者:行者123 更新时间:2023-11-30 22:11:59 25 4
gpt4 key购买 nike

我有一张帖子表,我想使用类似于黑客新闻或 reddit 的功能来订购这些帖子 - 值“喜欢 - 不喜欢”和新近度。问题:它非常慢(即使所有相关字段都已编入索引)。我怎样才能加快速度?

查询(伪):

SELECT * FROM Post WHERE foo = 'bar' ORDER BY 
((p.like_count - p.dislike_count) / POW(((UNIX_TIMESTAMP(NOW()) - p.time / 3600) + 2, 1.5))

我的第一直觉是尝试在查询之外计算 UNIX_TIMESTAMP(NOW()),尽管我也不知道 POW() 的性能如何。

最佳答案

我最终使用的解决方案是完全丢弃超过几周的帖子。由于趋势仅对最近的内容感兴趣,因此不需要从历史文件中提取。

$oldestAllowed = time() - 3600*24*14; // 14 days
SELECT * FROM Post WHERE p.time > $oldestAllowed ORDER BY
((p.like_count - p.dislike_count) / POW(((UNIX_TIMESTAMP(NOW()) - p.time / 3600) + 2, 1.5))

关于mysql - "trending"函数 la reddit/hackernews 性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39802735/

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