我正在开发一个结算系统,计算数据库上发票的总金额需要相当多的SQL。例如:
由于我添加的每个功能执行查询变得越来越复杂,我正在考虑存储一些计算(发票项目和发票的净金额和总金额)。我已经看到了一些发票框架,所以我认为这本身并不是一个糟糕的做法。
但是,我对数据完整性有点担心。
我的应用程序中的缓存失效不应该太难:每当发票以某种方式更改时,我会重新运行计算并保存新值。但是,如果某人有人直接在数据库上运行脚本或某些SQL代码呢?
我知道有关于这个主题的一些问题,但我想进一步讨论。
答案 0 :(得分:1)
是的,只要您不必忘记在必要时使缓存无效(这是CS中最难解决的两个问题之一),缓存就可以了。
但是,如果某人有人直接在数据库上运行脚本或某些SQL代码呢?
嗯,强大的力量带来了巨大的责任。如果您不想要责任,请取消电源(禁止直接访问sql)。你在这里真的没什么可做的。