1
我正在構建一個網站,其中包含帖子和票數表。每個投票點後,是向上或向下我應該在我的查詢中執行方程式,或者在本地執行方程式並更新db
如果我想用這樣的
def hotness(ups, downs, date):
s = ups - downs
order = log(max(abs(s), 1), 10)
sign = 1 if s > 0 else -1 if s < 0 else 0
seconds = epoch_seconds(date) - 1134028003
return round(sign * order + seconds/45000, 7)
一個複雜的方程式職位排序它會更好於:
- 翻譯該公式爲sql,與投票執行連接,並在每次我想要獲取並對帖子列表進行排序時執行該公式。
- 在每個帖子上創建一個hotness列,並更新每次對帖子進行投票。
我可以看到與選項1的問題是,它會增加每個查詢的時間/複雜性,我可以看到與選項2的問題是,可能有1000票的第二個意思後,這意味着該職位需要不斷更新。
這樣做的最好方法是什麼?