我有一张微博表,表里记录了点赞、转发、评论的数值,现在想优化热门的排序算法。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回去。不知道有没有更好的方式?如果用我的方式怎么实现呢?
添加回答
举报
0/150
提交
取消