社区
数据库(包含打印,安装,报表)
帖子详情
VB+ADO+SQL查询为何太慢
redshiliu
2008-05-27 10:02:45
一个表二十几个字段一共右7k多条数据
我在局域网上查询(非SQL服务器安装机器)使用SQL的查询分析器
select abc from xxx 需要2s
select * from xxx 需要7s
怎么会这么慢啊
机器2core 1.2G 512M内存
...全文
369
12
打赏
收藏
VB+ADO+SQL查询为何太慢
一个表二十几个字段一共右7k多条数据 我在局域网上查询(非SQL服务器安装机器)使用SQL的查询分析器 select abc from xxx 需要2s select * from xxx 需要7s 怎么会这么慢啊 机器2core 1.2G 512M内存
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fj182
2008-05-28
打赏
举报
回复
如果客户端直接连到数据库跑SQL返回7k条记录怎么优化也快不到哪儿去,你可以试试在服务器上跑SQL然后把结果打包传给客户端
「已注销」
2008-05-28
打赏
举报
回复
网路是否有问题呢??
of123
2008-05-28
打赏
举报
回复
这里需要一个抉择:Client 游标还是 Server 游标。
Client 初次查询慢,以后就很快。如果你可以在后台将主要的记录集查询回来,并且客户端对记录集有极其密集的访问,这是一个不错的选择。但是记住,它是以占用网络带宽为代价的。如果你的众多客户端都这样做,结果也是灾难性的。
Server 游标是 ADO 的缺省设置,显然是微软推荐的。它对资源的损耗最小。代价是每一次查询都要在网络上传送数据。如果客户端上的查询是偶发性的,这样做应该比较合理。
实际上,网络数据库应用设计,一定要考虑网络传输负载。
砸死牛顿的苹果
2008-05-28
打赏
举报
回复
应该采取SQL语句分页方式 而不是ADODB自身分页功能
砸死牛顿的苹果
2008-05-28
打赏
举报
回复
1行最多也可以 8060个字节
7000行也可以有56M数据了~ 7s 确实不算很过分
redshiliu
2008-05-27
打赏
举报
回复
在服务器上执行时间使用SQL的查询分析器几乎不需要时间
redshiliu
2008-05-27
打赏
举报
回复
有索引的
我主要的目的是在客户端上(VB+ADO)
查询表中个一个字段abc
然后遍历所有记录把字段内容添加到一个combox里面
这里有个问题,如果rec.cursorlocation设置为aduseclient
查询时间特别长
如果设置为aduseserver查询时间就缩短不少但是在遍历记录时候的
rec.movenext所消耗的总时间就特别长了。
如何才能让这个过程需要时间缩短?急用,大家帮帮忙。。。
li_net
2008-05-27
打赏
举报
回复
表中有索引么?
Fanks
2008-05-27
打赏
举报
回复
不会吧?有二进制字段或图像字段吗?
砸死牛顿的苹果
2008-05-27
打赏
举报
回复
看看直接在服务器上执行要多少时间
tortoisespeed
2008-05-27
打赏
举报
回复
[Quote=引用 6 楼 star_ais 的回复:]
select abc from xxx 需要2s
select * from xxx 需要7s
据我了解,好像是因为SQL内部机制问题。当你确定一个字段的时候,它查询的速度会上升。
比如:
xxx表中有a,b,c三个字段。
select a,b,c from xxx
select * from xxx
以上两个SQL文检索的数据是一样的,但是执行的速度是有差别的。自己可以去试验一下。
[/Quote]
说得有道理,微软专家也是这样说的,但在只有7K多条的表中做查询,还是慢得很啊,原因是楼主计算机的内存太小了,sql实际使用的内存就更小,你给SQL分配1G内存,速度肯定会飞上天的,当然内存再多对速度提升的贡献率就有限了.
star_ais
2008-05-27
打赏
举报
回复
select abc from xxx 需要2s
select * from xxx 需要7s
据我了解,好像是因为SQL内部机制问题。当你确定一个字段的时候,它查询的速度会上升。
比如:
xxx表中有a,b,c三个字段。
select a,b,c from xxx
select * from xxx
以上两个SQL文检索的数据是一样的,但是执行的速度是有差别的。自己可以去试验一下。
sql server 2016 localdb数据库
SQL Server 2016 LocalDB数据库是一款轻量级、快速启动的数据库引擎,它是SQL Server Express的一个变体,特别适合开发人员进行单用户应用程序的本地数据存储。LocalDB简化了数据库的设置和使用,无需管理SQL Server...
ACReport中国式报表控件2011(Ver 2.50)
封装良好,与Delphi无缝连接,改变了旧版中需要将Dataset中的数据复制到报表引擎中的实现方式,通过模拟
ADO
接口的方式直接支持BDE/ClientDataset/等非
ADO
方式的Dataset,不需要考虑太多的COM方面的因素,强烈建议...
ADO
.NET中应用大数据量参数化查询的效率分析
在网上经常看到的一条网友技术提问大意是“为什么我写的
SQL查询
语句在SQL Server查询分析器中可以瞬间Run出结果,在.NET程序中却要二十几秒(甚至要数分钟)?”。近日笔者在项目开发过程中也遇到相同问题,经过多方...
vb
将excel数据导入mysql_用
VB
做怎么将Excel数据导入SQL数据库中
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解。话题:用
VB
做怎么将Excel数据导入SQL数据库中?问题详情:用
VB
做怎么将Excel数据导入SQL数据库中?回答:方法一:可以试着用
VB
书写一段调用SQL Server...
vb
my
sql查询
很慢_
vb
ado
连接mysql改变一个字段的值,第一次速度慢,第二次速度快...
all = i i = i + 1 StuR.MoveNext bar.value = bar.value + 1 Wend bar.value = 0 这段代码第一次运行时大概需要15秒,再一次运行时只需要1秒钟,请高手解释一下这是为什么,并且如何提高更新速度。 如果是在更新...
数据库(包含打印,安装,报表)
1,217
社区成员
55,950
社区内容
发帖
与我相关
我的任务
数据库(包含打印,安装,报表)
VB 数据库(包含打印,安装,报表)
复制链接
扫一扫
分享
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章