我的一个数据库表中有一个缓存字段,该字段根据许多不同的表和这些表中的字段状态进行更新。
这些表中的每一个都通过触发器调用相同的函数:updateCachedField(basetable_id INTEGER)。updateCachedField 函数查询所有这些其他表并计算基表的新缓存值。updateCachedField 函数很复杂,而且成本很高。
在单个事务期间,可能会更改许多影响缓存字段的表。因此,在单个事务中,updateCachedField 函数可能会被调用 50 次……但只有 5 个不同的 basetable_id。
有没有办法对此进行优化,以便 updateCachedField 函数只被调用 5 次而不是 50 次以上?