以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 保存效率、升级效率 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131265) |
-- 作者:刘林 -- 发布时间:2019/2/21 16:25:00 -- 保存效率、升级效率 1、foxtable的一个问题一至很困惑,用save保存记录稍多一点就很慢,比如5000条记录保存要花几分钟,按例子做了sql提取保存的方式,测试6600条记录,只有两列数据有变更,花了290秒,道底怎样才能很快保存,一至都是痛点,无痛保存,就是在保存的时侯不影响工作,可以进行其他操作。 2、远程升级问题,因为项目边做边用,经常升级,用户升级时要等很久,网好的快点,网慢就很麻烦,如何能实现无痛升级,就是检测到升级,系统自动升级,但不影响本次操作进程,后台无感自动升级,等下次启动时就是最新版了。
|
-- 作者:有点蓝 -- 发布时间:2019/2/21 16:37:00 -- 1、sql提取保存的方式 -- 是怎么做的?肯定没有做对 2、内置的升级方式没有办法。您可以自己做升级,使用Network.DownloadFile下载升级文件,下载后再提示更新 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=90233 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=82266 |
-- 作者:刘林 -- 发布时间:2019/2/22 7:12:00 -- Dim st1 As Date = Date.Now Dim strlist As List(Of String) = Functions.Execute("sql提取函数",Tables("中考表"),"中考表","_Identify","[_Identify]","ksh|考试室","ksh|考试室",1) Dim sql As String Dim cmd As New SQLCommand cmd.ConnectionName = Dim Count As Integer = 0 try Connections("XX").BeginTransaction For Each s As String In strlist cmd.CommandText = s Count += cmd.ExecuteNonQuery() Next Connections("XXX").Commit \'提交事务,所有操作生效 Catch ex As Exception \'如果出错 msgbox(ex.message) Connections("XX").Rollback() \'回滚事务,撤销所有操作 End Try Tables("中考表").DataTable.BaseTable.AcceptChanges() \'提交修改 MessageBox.Show("亲,我正在为节省您的每一秒钟努力,本次保存共耗时: " & (Date.Now - st1).TotalSeconds & "秒") 因为只有两列数据要变就保存的这两列,测试6607条记录花290秒,请问老师如何提效
[此贴子已经被作者于2019/2/22 7:13:29编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/2/22 8:54:00 -- 这个代码不应该这么慢的。看来您的服务器和网络实在是太慢了。 如果是SqlServer,并且都是新增数据,试试这种方式:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=84350
|
-- 作者:刘林 -- 发布时间:2019/2/22 10:57:00 -- 新增我是只能用save,新增用这个代码出现记录无故重复,如10条记录,下次打开就重复了一样的2条,成了20条,不晓得什么原因,我只针对改写数据才用的这个代码,但还是很慢,我不晓得什么原因? |
-- 作者:有点蓝 -- 发布时间:2019/2/22 12:08:00 -- 如果在本地或者在局域网内测试不慢,就是服务器和网络的问题了 |