解决方案 »

  1.   

    一条SQL能解决当然最好啊,就用AVG函数,何必再多一条update语句呢。
      

  2.   

    但是update语句只需要在评分的时候执行一次啊,avg的话每次查询都需要一次呢。哪样好呢
      

  3.   

    但是update语句只需要在评分的时候执行一次啊,avg的话每次查询都需要一次呢。哪样好呢
    个人感觉还是AVG好一些,一条SQL可以解决的问题,应该不用再去冗余一个字段,再多个update操作可能会给业务上造成混乱,如果你需要计算的列不是很多的话,这个效率问题可以忽略不计吧,底层SQL还是很高效的,仅供参考。
      

  4.   

    从性能上说,每评论一次,就update一次,很少人评论的还好,很多人评论的话,那
    从设计上说,评分表的功能和平均分字段是一样的(对于题目的商品表),所以平均分字段存在冗余嫌疑。
      

  5.   

    这个就要看你的需求了,如果评论不多,不会经常更新,而且很多人总是要查看平均分的话,就可以考虑增加一个字段,但是这种情况一般比较少见了。
    如果不是上述的这种情况的话,一般还是考虑自己去avg吧。
    你查询商品的时候应该也会把评论带出来吧,不带也没有问题,因为统计一个字段,效率不会有大的影响
      

  6.   

    在good里做一个avg_score字段 这个方法为了性能好::
    1.avg_score字段实际上相等于cache了..可以大大的提升性能,,当访问大的时候儿..可以定时更新这个字段..
    AVG 最大的的问题走十性能了...不过这个开发简化了...各有优点,,建议前期使用AVG ,,性能不行了在上avg_score字段
      

  7.   

    你这样的 是avg好  如果想要效率的话 可以采用累加形式的
      

  8.   

    avg,你要考虑程序还在运行 ,,,以后数据会越来越多 。