Foxtable(狐表)用户栏目专家坐堂 → 请教如何提高查询总速度。


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

主题:请教如何提高查询总速度。

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


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
请教如何提高查询总速度。  发帖心情 Post By:2019/6/13 12:59:00 [只看该作者]

现状如下:,程序中有3个类似的分段查询语句,分别查询当前指令单号的:入库明细,领料明细、委外采购记录
''------------------以下是收集产品入库单号
        cmd1.CommandText = "SELECT  mr0.DOC_NO mr0DOC_NO,w1.WAREHOUSE_NAME"      ’在入库档案中的记录,取:入库单号和入库名称
        cmd1.CommandText = cmd1.CommandText & "  FR OM {MO} As m1 full join {MO_RECEIPT_D} As mr1 on m1.MO_ID=mr1.MO_ID inner join MO_RECEIPT As mr0 on mr1.MO_RECEIPT_ID=mr0.MO_RECEIPT_ID left join {WAREHOUSE} as w1 on mr1.WAREHOUSE_ID=w1.WAREHOUSE_ID"
        cmd1.CommandText = cmd1.CommandText & "  WHERE  m1.[DOC_NO] ='"& str01 &"'   and mr0.[ApproveStatus]='Y' ORDER BY m1.DOC_NO"  '取所有入库记录号
        db01 = cmd1.ExecuteReader()  '求所有入库单号可以修改和保存
        str04=Nothing
        If db01.DataRows.Count > 0 Then  '如果入库单号有记录
            For Each dr01 As DataRow In db01.DataRows    '收集入库单号
                str04=str04 & dr01("mr0DOC_NO").trim() &  "(" & dr01("WAREHOUSE_NAME").trim() & ")/"   ’生成一个字符串
            Next
            dr1("rkdh01")=str04  ‘将字符串写入字段
        End If

以上红颜色的语句,在生成字符串时消耗了大量时间,请教如何优化呢?
谢谢专家!

[此贴子已经被作者于2019/6/13 12:59:33编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/13 13:03:00 [只看该作者]


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


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
谢谢专家指教  发帖心情 Post By:2019/6/13 14:51:00 [只看该作者]

谢谢专家指教!
确实比之前有了一定的时效优化!

 回到顶部