Foxtable(狐表)用户栏目专家坐堂 → 提取未入库的业务单据效率问题


  共有2607人关注过本帖树形打印复制链接

主题:提取未入库的业务单据效率问题

帅哥哟,离线,有人找我吗?
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1916 积分:17116 威望:0 精华:0 注册:2014/7/29 19:09:00
提取未入库的业务单据效率问题  发帖心情 Post By:2015/8/2 16:02:00 [只看该作者]

在开入库单时,想每次都只提取还未入库的采购单,有以下两种方法:
1、在如采购单中,有产品编码,采购数量,采购单号等列,增加一累计入库列,每次采购入库单保存时都用本次入库的数量+采购单中原来的累计入库写入到采购单的累计入库中,这样只提取累计入库<采购数量的采购单即可。
2、在SQL数据库中设计一个索引视图,每次采购入库单保存时都按采购单号,产品编码自动计算对应的累计入库,这样只提取索引视图中累计入库<采购数量的采购单即可。
请问哪种效率更好,为什么?
谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/2 16:11:00 [只看该作者]

为什么不直接加一列,是否入库作为判断。如果入库了,就标记为入库。

 

不加一列也可以,那就需要用select in 的语法去查找和加载。

 

方法1肯定是快的,方法二会慢一些。


 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1916 积分:17116 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2015/8/2 16:26:00 [只看该作者]

但方法1有个问题,就时跨表更新时如果刚好更新了累计入库后采购入库单保存时出现网络断开或者不稳定时经常出现数据不准确。 另外,采购单中有采购数量,累计入库,已入库,如果直接按是否已入库 来提取是不是比用累计入库>采购数量r来判断更高效,但这样必须用一触发器之类的来实现当累计入库大于等于采购数量时将已入库更新为true,是不是?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/2 16:29:00 [只看该作者]

跨表更新是肯定有你说的问题的,你可以在项目打开的时候,或者是需要的时候,重新计算一次累计的值。也就是同步数据。


 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1916 积分:17116 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2015/8/2 16:48:00 [只看该作者]

这样每张类似的业务单据,如生产单(有累计完成),外协加工单等打开项目时每张单都要重新计算一次,效率是不是很低啊?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/2 16:53:00 [只看该作者]

 那没办法,你要处理额外情况就必须这样做。

 

 用sql语句更新,效率也不会低。况且你可以定时更新。


 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1916 积分:17116 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2015/8/2 17:43:00 [只看该作者]

如果在入库单中编写触发器是不是就没有这样的问题?

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107673 积分:547686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/2 19:30:00 [只看该作者]

用触发器是个不错的解决方案,顶一下

 回到顶部