日期:2014-05-17  浏览次数:20467 次

数据采集和保存问题
每天有10W件商品,会从三个仓库进行入库和出库,
我现在想到两种方案存储,
方案一:
对每件商品的每次出库和入库分两条记录存储
仓库编号    基本信息...  入库/出库    操作时间

方案二:
对每件商品的每次出库和入库用一条记录存储
仓库编号    基本信息...   是否入库     入库时间    是否出库    出库时间

产生的数据量:
方案一:60W/天
方案二:30W/天

自己觉得开销比较大的操作:
对于方案一:查询一段时间内某个库没有出库的商品(还没想出简单高效的方法)。
对于方案二:因为一次会出库一大批商品,出库操作比较集中,出库时更新对应的出库记录。

再顺便帮看看这个贴子
Service broker
------解决方案--------------------
推荐用方案二,分别用出库表和入库表.
------解决方案--------------------
引用:
引用:引用:引用:推荐用方案二,分别用出库表和入库表.
你是说采用方案二存储,但把出库和入库记录分开?
正是.
分成两条记录还是两个表?


從業務上分析,出庫和入庫是不同的業務,在數據庫設計上可以考慮分兩個table來存儲出庫入庫情況,也就是描述出入帳。而且對對於數據量大情況查詢(询一段时间内某个库没有出库的商品)也有好處。如果你服務器是多磁盤的話,你還可以對於出庫入庫table按在時間字段上進行分區,這樣你查詢某一個時間內的數據,性能會更好。
------解决方案--------------------


我的建议不用分.三个库用一个入库表,出库表,及库存表.在每个表内增加一个字段.仓库标示,下单到那个仓库,那个仓库进行发货,入库雷同.