各位给个意见,哪种方案更靠谱?
做的是进销存管理软件,涉及货物进出,每张单据标准结构都是:
主单据+明细单据(保存商品);
现在问题是,是否需要新增一张 所有货物进出的明细表,这样便于后续查询统计,不需要用UNION 进行连接查询。
1.增加这张表的话,每次出库时都要新增记录;容易出错;但后续查询统计要快些;
2.不增加这张表的话,采取动态连接查询统计,出错概率低些,但数据量大时速度慢。
[解决办法]
我觉得可以一开始就设置一个表,包含了进出,设置一个标志位flag:1表示进,0表示出
[解决办法]
这样就不用union 两个表了,同时,根据标志位,取出相应的数据
[解决办法]
销售单、销售商品明细
采购单、采购商品明细
销售退货单、销售退货商品明细
采购退货单、采购退货商品明细
入库单、入库商品明细
出库单、出库商品明细
调拨单、调拨出库商品明细、调拨入库商品明细
.........
就是是否需要新增一张表来把交易审核后的明细记录下来(销售商品明细、采购商品明细、销售退货商品明细、采购退货商品明细、.......)
数据量非常非常庞大时,单实例成为瓶颈时,可以按照区域来做分库
实例横向扩展,分布式事务由数据库上层控制
HA由中间层控制
失效的订单:比如退单、已提交不会被修改的订单等。移除sql server,转入分布式DB持久化,业务上支持读访问。其他正常业务不变