Php 计算该场所的当前容量的最佳方法是什么?

Php 计算该场所的当前容量的最佳方法是什么?,php,mysql,Php,Mysql,我有这样的数据库,我想计算当前的地方容量 例:一个地方最大容量64,当前容量5 有人去一个地方。当前_容量应为6 我可以创建“当前容量”列并对其进行更新 但这是正确的方法吗?或者我应该询问所有在A地点的人员,并从那里计算当前的容量?(使用计数) 对于大型或活动数据库,哪种方法是正确的? (想象一下2000个地方和数十亿人) 您应该从基本的连接和聚合开始。大概是这样的: select p.*, p.max_capacity - u.cnt from places p left join

我有这样的数据库,我想计算当前的地方容量

例:一个地方最大容量64,当前容量5

有人去一个地方。当前_容量应为6

我可以创建“当前容量”列并对其进行更新

但这是正确的方法吗?或者我应该询问所有在A地点的人员,并从那里计算当前的容量?(使用计数)

对于大型或活动数据库,哪种方法是正确的? (想象一下2000个地方和数十亿人)


您应该从基本的
连接和聚合开始。大概是这样的:

select p.*, p.max_capacity - u.cnt
from places p left join
     (select place_id, count(*) as cnt
      from user_places
      group by place_id
     ) u
     on p.place_id = u.place_id;

除非你真的需要,否则我不会建议你增加专栏。为了维护该列,您必须实现触发器,以便在用户被分配或从某个位置删除时更新该值。

您应该从基本的
连接和聚合开始。大概是这样的:

select p.*, p.max_capacity - u.cnt
from places p left join
     (select place_id, count(*) as cnt
      from user_places
      group by place_id
     ) u
     on p.place_id = u.place_id;
除非你真的需要,否则我不会建议你增加专栏。为了维护该列,您必须实现触发器,以便在用户被分配或从某个位置移除时更新该值