日期:2014-05-19  浏览次数:20731 次

请大家帮我分析一下,谢谢!
我在做一个进销存管理系统,由于系统的数据量可能会很大,且是远程访问,就不知用什么方法较好,做到这里就停了下来,请大家帮我分析一下,谢谢!

如采购单\销售单\调拨单等各位单据关联的表经较多,需要同时更新几个表,并且在更新每个表的每条记录时需要做很多判断,如库存量\物品合法性\审核与取消审核记录\操作日志\更新货位发生额表\物品发生额表\货位余额表\更新最新采购价或销售价表\更新主表和子表\销售奖励表职员及比例表等.

在这么多的更新中用了数据库事务.

我的想法:
第一种就是,就用普通的Select每次对表查询和更新(Update和插入),这种访问和提交数据库频繁,但每次都带条件的查询.所以每次查询的结果(数据集都比较小).

第二种就是:一次将所在关联表读到DataSet中,查询和更新均在DataSet中完成,最后一次更新到数据库中,这种第一次读取会不会太慢了,如果不全部读取数据到DataSet中,有时你无法知道要查哪些数据,将表的全部数据读入又可能太慢(假设有100W行数据).但提交之前的查询和更新比较快,只访问一次和提交一次数据库.

我真不知该用什么方法比较好,或有更好的方法,大家帮帮忙吧!


------解决方案--------------------
使用存储过程来完成你的一笔业务,一次性把所有的参数传递给数据库存储过程,然后再存储过程中实现业务逻辑

------解决方案--------------------
访问本地数据库,同步到远程~