加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP / MySQL存储在单独的表中或每次计算

发布时间:2020-12-13 16:16:35 所属栏目:PHP教程 来源:网络整理
导读:我需要为用户存储积分.每个点都存储在一个带有日期的单独行中.现在,当用户打开他的页面时,它将显示他的总分. 现在计算总点数,我可以想到以下选项: 每次用户打开页面时,计算该ONE mysql表中所有点的总和并显示给他 为总点数创建另一个表格,每当添加一个点时,
我需要为用户存储积分.每个点都存储在一个带有日期的单独行中.现在,当用户打开他的页面时,它将显示他的总分.

现在计算总点数,我可以想到以下选项:

>每次用户打开页面时,计算该ONE mysql表中所有点的总和并显示给他
>为总点数创建另一个表格,每当添加一个点时,计算总和,并将前一个总和值替换为新值.当用户打开他的页面时,它只访问该总和表中的那一行并向他显示该值
>创建一个CRON作业以每晚运行以计算用户的总点数并将其存储在(2)中创建的单独表中

对我来说,选项2看起来效率很高,但只是想知道这样的事情通常是怎么做的?

解决方法

如果您具有适当的权限,则可以在点表上创建触发器.

delimiter | 
create trigger update_point_total 
    after insert on points for each row 
    begin
    update point_totals set total=total+NEW.points
    where userid=NEW.userid;
    end
|
delimiter;

每次将行插入点表时,这将导致总点数列更新.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读