我有一張微博表,表里記錄了點贊、轉發、評論的數值,現在想優化熱門的排序算法。Q:熱門數值的保存:以前我是在微博表中有一個字段_hot表示熱度,每隔60分鐘UPDATE這個字段,這樣排序的時候就直接按照_hot字段排序就可以獲得。這樣能在一定程度上實現時間衰減。更新的算法也可以和大家分享:UPDATEmicroblogasvSET_hot=LOG10((_zan*2+_com*5+_tran*3))+(unix_timestamp(v._createtime)-unix_timestamp(\'2008-12-0100:00:00\'))/100000;問題也很明顯:每隔60s就對于一張4W+記錄的表的每條記錄做復雜的計算,對CPU的消耗太大。A:我自己想實現的解決辦法是將數據SELECT出來,將計算放在代碼里面,然后再UPDATE回去。不知道有沒有更好的方式?如果用我的方式怎么實現呢?
微博熱門的排序算法
素胚勾勒不出你
2019-04-16 20:26:20
