Foxtable(狐表)用户栏目专家坐堂 → 运行一段时间后变慢,请问如下代码在计划任务执行会拖累吗?


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

主题:运行一段时间后变慢,请问如下代码在计划任务执行会拖累吗?

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


加好友 发短信
等级:二尾狐 帖子:575 积分:5509 威望:0 精华:0 注册:2020/5/7 13:05:00
运行一段时间后变慢,请问如下代码在计划任务执行会拖累吗?  发帖心情 Post By:2024/8/12 8:48:00 [只看该作者]

Dim cmd As new SQLCommand
cmd.ConnectionName = "数据源名称"
Dim
dt As DataTable
cmd.CommandText =
"S elect [_Identify],折扣 From {订单} Where 数量 >= 500"
dt
= cmd.ExecuteReader(True) '记得将参数设置为True


我主要想生成dt来用,但在全局代码定义不了 Dim cmd As new SQLCommand
[此贴子已经被作者于2024/8/12 8:54:24编辑过]

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


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

和在哪定义SQLCommand没有什么关系。反而和在计划里不停加载数据有关

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


加好友 发短信
等级:二尾狐 帖子:575 积分:5509 威望:0 精华:0 注册:2020/5/7 13:05:00
  发帖心情 Post By:2024/8/12 10:12:00 [只看该作者]

那我想在全局代码就加载成datatable,分别在其他地方直接使用这个datatable,应该在哪写,怎么写?


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


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/12 10:56:00 [只看该作者]

为什么不直接添加到外部表中?

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


加好友 发短信
等级:二尾狐 帖子:575 积分:5509 威望:0 精华:0 注册:2020/5/7 13:05:00
  发帖心情 Post By:2024/8/12 11:02:00 [只看该作者]

因为涉及好多表,所以程序开始设计时是要用的表才通过Dim cmd As new SQLCommand加载的


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


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/12 11:40:00 [只看该作者]

那也不能放到计划管理中啊。自己都知道要用到才添加,那什么时候用到?如果某个窗口用到,那就窗口打开前执行添加;其实窗口用的还不如使用sqltable。

如果是项目一打开就用到,和添加到外部表管理中没有区别。还不如使用帮助的用法:http://www.foxtable.com/webhelp/topics/2752.htmhttp://www.foxtable.com/webhelp/topics/2753.htm

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


加好友 发短信
等级:二尾狐 帖子:575 积分:5509 威望:0 精华:0 注册:2020/5/7 13:05:00
  发帖心情 Post By:2024/8/12 17:51:00 [只看该作者]

请问老师如下做代码会使运行变慢吗?
If Forms("主窗口").Opened Then
    If Network.Ping(GetConfigValue("ip", "")) Then
    Else
        Return
    End If
    System.Threading.Thread.Sleep(1000)
    Dim dr As DataRow
    dr = DataTables("flopening").SQLFind("计算机名称='" & System.Net.Dns.GetHostName & "'")
    If dr IsNot Nothing Then '如果找到的话
        If FileisOpened(dr("nf")) = False Then
            If FileOpened(dr("nf")) = False Then
                DataTables("flopening").SQLDeleteFor ("计算机名称='" & System.Net.Dns.GetHostName & "' and nf='" & dr("nf") & "'")
            End If
        End If
    End If
End I

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


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/12 20:03:00 [只看该作者]

下面代码会使整个程序停止1秒,没看懂有任何用处。
System.Threading.Thread.Sleep(1000)

其它代码正常应该不会慢,除非表格数据非常多(几千万上亿行)然后没有做任何优化

[此贴子已经被作者于2024/8/12 20:04:24编辑过]

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


加好友 发短信
等级:二尾狐 帖子:575 积分:5509 威望:0 精华:0 注册:2020/5/7 13:05:00
  发帖心情 Post By:2024/8/13 8:30:00 [只看该作者]

是放在计划管理的,因为程序运行一段时间后,慢到死机一样,所以要排除问题

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


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

自己跟踪统计一下每段代码执行的耗时:http://www.foxtable.com/webhelp/topics/2226.htm

 回到顶部
总数 12 1 2 下一页