我一直在寻找到网站上使用的流行的算法,如 reddit的 Digg的,甚至#1

<强>书签交易算法:

t = (time of entry post) - (Dec 8, 2005)
x = upvotes - downvotes

y = {1 if x > 0, 0 if x = 0, -1 if x < 0)
z = {1 if x < 0, otherwise x}

log(z) + (y * t)/45000

我一直SQL内进行简单的排序,我不知道我应该如何处理这样的排序。

它应该被用来定义一个表,或我可以建立与所述订货式内的SQL(而不阻碍性能)?

我也想知道,如果是可以使用在不同的场合的多个排序算法,而不会引起性能问题。


我使用Django和PostgreSQL。

帮助将不胜感激! ^^

有帮助吗?

解决方案

您应该缓存你的民望在自己的专栏,并更新其在基础值的变化。你也应该建立在该列数据库索引。如果随后还缓存您最常用的查询结果,你采取了最有效的措施,你的人气查询的性能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top