以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  即时库存数据如何高效处理  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47321)

--  作者:supwork
--  发布时间:2014/3/8 8:53:00
--  即时库存数据如何高效处理

要获得即时库存数据,可供选择的方案有:

 

方案一、取所有即时有效入库数量-所有即时有效了库数量。(该方案所得结果随时随地绝对准确)

 

方案二、即期初库存余额+本期所有即时有效入库数量-本期所有即时有效了库数量。(该方案关键要每月末结存,但结存后如果要改前期数据有点麻烦,需取消后面每月结存状态,然后修正数据,再结存每月数据)

 

方案三、建立即时库存数据表,当有出入时动态改变库存表数据。(但本方案好像风险最大,如果事务回滚处理不好,就有可能出现库存表显示数据不对之可能,另多人操作可能也有风险)

 

不同的方案均有各自的优缺点,但综合考虑安全怀性(库存数据报告必须随时随地100%准确),及计算机算是效率,客户端运行速度,那么大家在狐表中的最佳或常用方案是哪一个?

 

另一个问题是:

确定了大方案之后具体处理方案有两种:

 

处理方案A:依赖SQL数据库系统之视图进行所有数据处理,狐表开发程序只取符合条件之结果。(该项方案应该比较消耗服务器资源,但也正是数据库服务器的长处。开发程序过程中不需要代码统计数据,直接引用即可)

 

 

处理方案B:不用SQL数据库系统之视图。每次需要结果时,用狐表提供统计工具,直接后台统计,因为狐表对数据统计处理专门做了优化。但我想这个后台处理SQL数据库的查询代码,最终应该还是交给了数据库服务器来处理(从这方面来讲,是否没有降低数据库服务器处理负担)。

 

以上理解正确如否,该如何选择方案一,方案二,方案三?及方案A,方案B?希望大家展开讨论。


--  作者:狐狸爸爸
--  发布时间:2014/3/8 9:14:00
--  

方案一和方案二选一个,数据量大用方案二比较好。

如果公司觉得月结没有必要,你可以改月结为季度结,或者年结。

如果修改已结数据的概率较高,那么建议当前数据库保存两期甚至三期数据,以季度结为例,三季度开始的时候,结存一季度的数据,四季度开始的时候结存二季度的数据,保留多期数据可以避免烦恼。

[此贴子已经被作者于2014-3-8 9:25:00编辑过]

--  作者:xiaoohoo
--  发布时间:2014/3/8 9:14:00
--  
我认为大型软件一般三个方法都用:

表:
期初表(月底你可以选择结存方案1,也可以不结存方案2。
现存量表
单据表

’----
保存单据时,取现存量数据,并更改现存量。
增加一个整理过程,根据方案1+方案2修正现存量。

以上是本人个人思路。


--  作者:lsy
--  发布时间:2014/3/8 9:52:00
--  

方案二、即期初库存余额+本期所有即时有效入库数量-本期所有即时有效出库数量。

这个方案最实用,但应该不允许更改以前的数据。

如果前期数据有错,可在以后的盘存中修正:盘盈或盘亏。

[此贴子已经被作者于2014-3-8 9:53:07编辑过]

--  作者:jodiesiu
--  发布时间:2014/4/20 3:21:00
--  
菜鸟弱弱的问一句为何搜索得到的主题看不到回复~~~
去栏目里直接打开的就能看到~~~

--  作者:jspta
--  发布时间:2014/4/20 7:09:00
--  
一和二,结合,一用于时时计算,二用于记录保存验证,如果,每月都有几万行数据,可以考虑半年或一年备份一次。具体看你的读取效率而定,mssql几十万行应该不在话下没有太大压力。
--  作者:逛逛
--  发布时间:2014/4/20 10:50:00
--  

这个问题怎么说呢?

 

 

及时库存是一个最常用的数据,如果每次都靠查询的话,服务器的压力会很大。

 

所以,你的服务器还可以的话,数据量也不很大的情况下,用一二结合会好一点。

 

否则的话,还是用三比较好。但最好还是用触发器来实现。


--  作者:hanxuntx
--  发布时间:2014/4/20 11:06:00
--  
昭乎哉问也。