登录

php - 多用户的网站,用户的投稿量和照片数量之类的如何统计?

比如用户登录到会员中心后,会有一个简单的统计系统,这个投稿量和照片数量是直接建一个表,然后每次发布文章或者上传照片的时候都update table set photo=photo+1 where uid=1
还是每次都select count(*) 一下好呢?

# PHP
巴扎黑巴扎黑2147 天前512 次浏览

全部回复(3) 我要回复

  • 迷茫

    迷茫2017-04-10 14:41:40

    select count(*), 然后缓存

    回复
    0
  • 怪我咯

    怪我咯2017-04-10 14:41:40

    用户中心访问量也不高,效率上讲哪区别不大。
    我个人习惯于使用单独的统计表,不想让数据库承担逻辑上的东西,使用+1方式,单独建个表,以后增加其他它信息的统计也方便些,这么做要保证数据一致性,防止用户新增了投稿,但是统计表却更新失败,最好给数据库加个定期事务。
    如果用count(*),记得把*换成主键名。

    更科学的方式是在缓存层面储存计数, 例如用redis,然后定期永久化。

    回复
    0
  • ringa_lee

    ringa_lee2017-04-10 14:41:40

    第一种方案的路过一下。
    然后每周会有一次的数据更新。防止冗余数据的异常出现的统计错误。

    回复
    0
  • 取消回复发送