一、库存系统的数据库。
二、库存表,入库表,出库表。
库存表——日期为聚集索引,内容是“每次盘点的日期”,如5月1日和6月1日。
入库表——日期为聚集索引,内容根据单据录入。
出库表——日期为聚集索引,内容根据单据录入。
三、盘点时处理逻辑
以“5月1日”和“6月1日”,两个日期为例。
5月1日——期初。
6月1日——本次盘点的结果。(也是下次盘点的期初)
(6月1日的)盘点结果=期初(5月1日)+(期间内的)入库表-(期间内的)出库表
请各位指教:库存表中,如果生成6月1日的盘点结果数据?
目前我自己的处理方式:
——库存表、入库表、出库表,3表联合查询,日期为5月1日—5月31日,并计算出(盘点)结果。
——将(盘点)结果,在库存表中生成一条日期为6月1日的新记录。
这种方式下,记录少还好说,一旦记录数比较多就很被动。
但是如果数据库中循环(3表联合查询)运行,似乎会让人纠结。
3个表联合查询……循环操作……数据量大起来……
请问这个细节各位是如何处理?
------解决方案--------------------
看数据量如何,建议预估每月正常的出入库数据量,写好盘点程序进行测试,这样就能预估到大概的执行时间了.
据我了解,只要数据量不是特别大,且程序的算法ok.应该是没问题的.
------解决方案--------------------
库存表,入库表,出库表 三张表都是日期是聚集索引,是否可以考虑将历史数据做分表处理?建分区表了吗?