Foxtable(狐表)用户栏目专家坐堂 → [求助]分页加载


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

主题:[求助]分页加载

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


加好友 发短信
等级:五尾狐 帖子:1137 积分:11224 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]分页加载  发帖心情 Post By:2020/8/26 21:16:00 [只看该作者]

老师好!

1200万行以上的数据表,设置打开窗口表显示第一页数据,会报“查询超时”。点击下一页按钮,显示也非常慢。

是不是代码的原因?

谢谢!


图片点击可在新窗口打开查看此主题相关图片如下:截屏图片.jpg
图片点击可在新窗口打开查看 

 

窗口afterload代码:

Dim cmd As New SQLCommand
cmd.C
Dim dt As DataTable
cmd.CommandText = "SEL   ECT DISTINCT 代码 From {股piao日线}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"代码")
trv.Nodes.Insert("加载所有数据",0)

 

'加载第一页数据
With DataTables("股piao日线")
    .LoadFilter = ""    '清除加载条件
    .LoadPage = 0       '加载第一页
    .LoadTop = 100      '每页行
    .Load()
    e.Form.Controls("TextBox1").Value = 1 & "/" & .TotalPages
End With

 

 

下一页代码:

With DataTables("股piao日线")
    If .LoadPage < .TotalPages - 1
        .LoadPage = .LoadPage  + 1
        .Load()
        e.Form.Controls("TextBox1").Value = (.LoadPage + 1) & "/" & .TotalPages
    End If
End With

 



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


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

什么数据库?SqlServer?

表格是使用[_Identify]主键,还是另外添加的主键?

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


加好友 发短信
等级:五尾狐 帖子:1137 积分:11224 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2020/8/27 11:50:00 [只看该作者]

1、是SqlServer

2、表格是使用[_Identify]主键

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


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

跟踪一下数据库执行了什么sql,把sql放到数据库里执行,看慢不慢,看看执行计划

https://www.cnblogs.com/amylis_chen/p/8872500.html

 回到顶部