亦无所思-202:
有个逻辑需要把数据落库处理。
我在设计的时候,把数据存了 2 个库,一个存的是数据信息,另一个库存的数据类型对应的状态。
这样的好处是,不需要去修改每条数据的状态,特别是出现大量重复类型数据时,效果很明显。
当然也有不好的地方,就是获取数据展示的时候,需要读 2 个库,然后把信息汇总后展示。
更不方便的地方是,进行数据过滤的时候,也是需要先读取状态信息,然后去进行数据的过滤。
实现的时候,我就是在这地方出了问题。
在修改数据类型的状态时,我会把第一个库的数据也加上简要的状态字段,本意是为了节省 2 个库的查询次数。
但是没考虑到,第一个库的数据是持续更新的,同一个类型的不同数据,就会出现简要的状态字段信息不一致的情况(后更新的数据简要字段为空)。
简而言之,就是我只考虑了现在,没有考虑将来。
启发:
1、数据是动态变化的,当下的数据处理结果和方式,并不能保证对后续变化产生正确的影响;
2、关联就是复杂度,既然有关联,就无法避免复杂,偷懒就会导致关联中断的异常;