以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  项目运行速度求教?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129153)

--  作者:lisheng1971
--  发布时间:2018/12/22 16:29:00
--  项目运行速度求教?
项目还未发布,有1个60多列的表,现在1、启动大概要40秒档案库右(未加载数据);
                                                  2、加载60多列、10万来行的表数据大概要40秒左右;
                                                  3、导入2万来行的数据大概要1分半-2分钟左右;
                                                  4、设置了1个“模糊查询”按钮,查询时间很长(没耐心算了)。
请教版主,这是我的表代码有什么问题还是数据量大了就是这个速度?(运行基本正常,就是速度慢,有时会死机)

“模糊查询”按钮代码如下:
Dim tab As WinForm.TabControl = e.Form.controls("TabControl1")
If tab.SelectedPage.Text = "鉴定信息汇总" Then
    Dim str As String = e.form.controls("Textbox1").Text
    Dim filter As String = "1=2"
    For Each c As Col In CurrentTable.Cols
        filter &= " or convert(" & c.name & ",\'System.String\') like \'%" & str & "%\'"
    Next
    CurrentTable.Filter = filter
ElseIf tab.SelectedPage.Text = "报名登记汇总" Then
    Dim str As String = e.form.controls("Textbox1").Text
    Dim filter As String = "1=2"
    For Each c As Col In CurrentTable.Cols
        filter &= " or convert(" & c.name & ",\'System.String\') like \'%" & str & "%\'"
    Next
    CurrentTable.Filter = filter
ElseIf tab.SelectedPage.Text = "中高级工资审" Then
    Dim str As String = e.form.controls("Textbox1").Text
    Dim filter As String = "1=2"
    For Each c As Col In CurrentTable.Cols
        filter &= " or convert(" & c.name & ",\'System.String\') like \'%" & str & "%\'"
    Next
    CurrentTable.Filter = filter
ElseIf tab.SelectedPage.Text = "中高级工考核" Then
    Dim str As String = e.form.controls("Textbox1").Text
    Dim filter As String = "1=2"
    For Each c As Col In CurrentTable.Cols
        filter &= " or convert(" & c.name & ",\'System.String\') like \'%" & str & "%\'"
    Next
    CurrentTable.Filter = filter
ElseIf tab.SelectedPage.Text = "技师高技资审" Then
    Dim str As String = e.form.controls("Textbox1").Text
    Dim filter As String = "1=2"
    For Each c As Col In CurrentTable.Cols
        filter &= " or convert(" & c.name & ",\'System.String\') like \'%" & str & "%\'"
    Next
    CurrentTable.Filter = filter
ElseIf tab.SelectedPage.Text = "技师高技理论" Then
    Dim str As String = e.form.controls("Textbox1").Text
    Dim filter As String = "1=2"
    For Each c As Col In CurrentTable.Cols
        filter &= " or convert(" & c.name & ",\'System.String\') like \'%" & str & "%\'"
    Next
    CurrentTable.Filter = filter
ElseIf tab.SelectedPage.Text = "技师高技实潜" Then
    Dim str As String = e.form.controls("Textbox1").Text
    Dim filter As String = "1=2"
    For Each c As Col In CurrentTable.Cols
        filter &= " or convert(" & c.name & ",\'System.String\') like \'%" & str & "%\'"
    Next
    CurrentTable.Filter = filter
ElseIf tab.SelectedPage.Text = "上会评审汇总" Then
    Dim str As String = e.form.controls("Textbox1").Text
    Dim filter As String = "1=2"
    For Each c As Col In CurrentTable.Cols
        filter &= " or convert(" & c.name & ",\'System.String\') like \'%" & str & "%\'"
    Next
    CurrentTable.Filter = filter
ElseIf tab.SelectedPage.Text = "证书编号汇总" Then
    Dim str As String = e.form.controls("Textbox1").Text
    Dim filter As String = "1=2"
    For Each c As Col In CurrentTable.Cols
        filter &= " or convert(" & c.name & ",\'System.String\') like \'%" & str & "%\'"
    Next
    CurrentTable.Filter = filter
    
End If

--  作者:有点甜
--  发布时间:2018/12/23 11:34:00
--  

做一个对应的实例发上来测试。

 

 


--  作者:wakai
--  发布时间:2018/12/23 15:20:00
--  
系统真正能使用必须用SQLtable,局域网内实时更新数据+表单独使用时再加载
--  作者:有点甜
--  发布时间:2018/12/23 15:43:00
--  
实例发上来才能测试。请做一个对应的,大数据量的项目发上来看看。
--  作者:lisheng1971
--  发布时间:2018/12/23 16:15:00
--  
图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看1、这个是自己为了工作,方便数据管理及查询等做的,只是单机用的,水平不够,这个都还没搞明白,局域网的就更不会了!另个SQLTABLE是什么?
             2、这个相应实例怎么做?里面涉及大量不能公开的数据信息!就算能管个头太大,传不上啊!

--  作者:有点甜
--  发布时间:2018/12/23 16:20:00
--  

1、你的数据库是什么数据库?如果是sqlserver数据库,开启加载慢,看看 http://www.foxtable.com/webhelp/scr/2730.htm

 

2、开始不加载数据,不加载表呢?

 

http://www.foxtable.com/webhelp/scr/1268.htm

 

http://www.foxtable.com/webhelp/scr/2752.htm

 

http://www.foxtable.com/webhelp/scr/2757.htm

 

3、导出数据慢,是挺正常的情况的,你用什么方式导出?saveexcel?做个例子测试

 

4、新做一个项目,不输入任何代码,导入数据,测试加载等功能。是否也慢?


--  作者:lisheng1971
--  发布时间:2018/12/23 16:42:00
--  
谢版主!我导入、导出都是用的EXCEL,我先消化消化,有问题再请教。
--  作者:lisheng1971
--  发布时间:2018/12/23 20:46:00
--  

版主请指教:我的项目中有---1、主窗口一个(类似门脸,不起别的作用),这个启动大概要15秒左右;

                                      2、管理窗口一个,其中控件有:分区面板2个,页面集合1个(分有10来个页面),目录树1个,按钮若干,其它若干;

                                      3、内部表几个,其中表1变动最频繁,数据量也最大,页面集合中有几个页面中的表控件是它的副表,另有表2、表3等在其它页面,都基本为固定的,没有数据变化,只是为表1中的某些列作判断时起比对、引用作用;

                                      4、经试验:清空表1代码、导入22000来行EXCEL数据(60来列)用了150秒左右,跟没清空代码前大致相当。

这个是不是我的项目结构上有问题?


--  作者:有点甜
--  发布时间:2018/12/23 20:55:00
--  

1、加载表格等需要时间的,加载完表格后,才会执行afterOpenProject等代码打开窗口的;

 

如果你需要【门脸】,试试 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=128250&replyID=858744&skin=1

 

2、3、4 导入代码尝试优化一下,比如用二维数组,如 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=114559&skin=0

 

具体导入的速度,发实例上来测试和优化。


--  作者:lisheng1971
--  发布时间:2018/12/23 21:54:00
--  
这个实例太不好做了,精减下,版主给看看