Php 减去或比较一个极限
使用以下表格: 研讨会Php 减去或比较一个极限,php,mysql,Php,Mysql,使用以下表格: 研讨会 WorkshopID | WorkshopName | WorkshopLimit 1 Workshop A 10 2 Workshop B 20 3 Workshop C 30 4 Workshop D 40 5 Workshop E 50 ParticipantID |
WorkshopID | WorkshopName | WorkshopLimit
1 Workshop A 10
2 Workshop B 20
3 Workshop C 30
4 Workshop D 40
5 Workshop E 50
ParticipantID | RegistrantID | WorkshopID
1 1 1
2 1 2
3 2 3
4 3 2
5 3 5
6 4 1
7 4 4
8 5 4
研讨会参与者
WorkshopID | WorkshopName | WorkshopLimit
1 Workshop A 10
2 Workshop B 20
3 Workshop C 30
4 Workshop D 40
5 Workshop E 50
ParticipantID | RegistrantID | WorkshopID
1 1 1
2 1 2
3 2 3
4 3 2
5 3 5
6 4 1
7 4 4
8 5 4
只需减去并更新每次注册的
工作区限制
,或者计算某个研讨会的参与者总数,然后将其减去工作区限制
(不更新工作区限制
)是否更快
例如,我将检查某个车间的剩余插槽。这取决于您对车间限制的严格程度。如果禁止过度注册,则更新WorkshopLimit是保护该规则的简单方法。在事务中注册和更新WorkshopLimit,如果WorkshopLimit小于0,则回滚事务并取消注册
如果允许过度注册,两种解决方案都是可以接受的。好像你没有庞大的数据量,性能差异应该很小。从id=42的车间运行简单的select语句(如
select WorkshopLimit FROM workshop),从datarow
读取简单的值,检查车间中剩余的开放座位,比使用更复杂的查询(如COUNT(…)更快
随时根据需要计算剩余的开放座位
但是,如果您在每次注册时更新workshops
表中的剩余开放座位值,或者如果您在需要时动态计算剩余座位,则很可能与速度无关。它们都太快,与您使用一种或另一种方法的决定无关
TL;DR=这不重要。计算某个研讨会的参与者总数,然后将其减去车间限制(不更新车间限制)。