Rad*_*Hex 6 sql django postgresql popularity django-orm
我一直在研究在Reddit,Digg甚至Stackoverflow等网站上使用的流行度算法.
Reddit算法:
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
Run Code Online (Sandbox Code Playgroud)
我总是在SQL中执行简单的排序,我想知道我应该如何处理这样的排序.
它应该用于定义表,还是可以使用公式中的排序构建SQL(不会影响性能)?
我也想知道,如果可以在不同的场合使用多种排序算法,而不会引发性能问题.
我正在使用Django和PostgreSQL.
非常感谢帮助!^^
您应该将受欢迎度评级缓存在自己的列中,并在基础值发生变化时更新它。您还应该在该列上设置数据库索引。如果您还缓存了最常见查询的结果,那么您就对流行度查询的性能采取了最有效的措施。
| 归档时间: |
|
| 查看次数: |
604 次 |
| 最近记录: |