我的老板要求我通过在我们的 mysql 数据库中与用户表关联的点来创建一个更简单的系统来查找点。旧系统只有事件,有点值,然后是另一个表,其中包含为用户完成的事件,然后是另一个表,仅用于管理员给定的点。所以我的工作是将这些全部加在一起并放在一个列中。现在他说问题是仍然存在围绕添加点运行的所有查询,但不是将它们更改为在任务完成时简单地将点添加到用户列,他们建议我使用触发器来简单地将点添加到用户列,当其他列之一添加了点时。
对我来说,这听起来像是使用变通方法并制造技术债务。我错了吗?
我是系统新手,我不知道所有查询在 php 页面中的确切位置,但如果这会造成技术债务,那么解决此问题的适当方法是什么。
我是新手,可能会只使用 sql 触发器,以免违背我老板的建议,我想至少知道做事的聪明/最佳方式。
尽我所能提供不是实际的,但接近实际的数据库模式事件:ID,点值,Desc 用户事件:USERID,EVENTID,COMPLETION-STATUS GIVEN-POINTS:USERID,POINTS_GIVEN,DESC(每个时间点都给出,所以它比更新点更多的日志)
我在基本 USER TABLE 中添加了一个 Points 列,当用户事件完成状态 = 完成时,触发器将是,查找点值,添加到用户中的点,而不是更改查询来执行此操作。