请教一个ADO远程查询数据库的问题:一条SQL查询有10万条记录,请问这个结果是如何放回的?

重阳学习微博 2013-08-24 12:33:58
如题,一个ADOQuery远程连接了一个数据库,执行一条SQL语句,结果有10万条记录,请教各位高手,这种情况下客户端直接ADOQuery查询会不会出现程序无法响应的情况?
以及这么多的记录传到客户端时改如何处理?
环境是局域网,万分感谢大家指点!
...全文
602 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
宝龙哥 2013-08-30
  • 打赏
  • 举报
回复
我的文章系统的标题的字段总长度才设为40字符,一般的标题用到的最长也就20字符,文章内容就可以很长了。一般是先列出标题,用户根据标题选文章,当用户要看文章时再用另一控件执行一次查询取回文章内容。
宝龙哥 2013-08-30
  • 打赏
  • 举报
回复
引用 10 楼 PPower 的回复:
要看数据量的,如果一条记录1K字节,10W就是100M字节,局域网下用户少时还勉强能接受,如果一条记录10K,那么就是1G字节,单用户都成问题了。
是了,1k字节很大了,大概只有文章系统才会用这么多字节了
勉励前行 2013-08-30
  • 打赏
  • 举报
回复
要看数据量的,如果一条记录1K字节,10W就是100M字节,局域网下用户少时还勉强能接受,如果一条记录10K,那么就是1G字节,单用户都成问题了。
宝龙哥 2013-08-30
  • 打赏
  • 举报
回复
如果ADO出现异常你可以ping一下服务器,一般会有大量的断点,解决方法是延长ADO的响应时间,最根本的是解决这种网络异常,因为这种时候大多数CS程序的连接都会出现问题 ADO是很完美的,SQLSERVER2000也是一个经典的产品,只是Access不尽如人意
宝龙哥 2013-08-30
  • 打赏
  • 举报
回复
引用 5 楼 jackyrouse 的回复:
谢谢nextseconds,我感觉如果直接用ADO会有很多问题
用ado一次返回10万条记录小意思,我曾经一次取回sqlserver2000的3个字段的40w条记录在DBGrid里列出,没有任何问题,DBGrid反应也很快,不过这么多都取回来没什么用
fbmsyu 2013-08-30
  • 打赏
  • 举报
回复
一次取到客户端内存里了。
windbger 2013-08-27
  • 打赏
  • 举报
回复
10万条记录,确定你不需要分页?
重阳学习微博 2013-08-25
  • 打赏
  • 举报
回复
谢谢nextseconds,我感觉如果直接用ADO会有很多问题
重阳学习微博 2013-08-24
  • 打赏
  • 举报
回复
万分感谢“专业撸过”,能否给一些例子代码看看,谢谢!
nextseconds 2013-08-24
  • 打赏
  • 举报
回复
原始ADO是可以取的,至于c++builder里面的ado控件是有超时无响应的,最好自己用tcp传输
sololie 2013-08-24
  • 打赏
  • 举报
回复
如果这10万条数据要返回后立即处理,那就用多条线程去分段请求数据,就跟多线程下载文件一个道理。
sololie 2013-08-24
  • 打赏
  • 举报
回复
用到多少条记录就返回多少条,处理完这一段再继续返回下一段,如此反复直到10万条都搞完,而不是一次性返回所有记录。很简单的道理,就好比分页显示数据,假设一个屏幕只能显示30行数据,那就请求返回30条数据,点下一页时就返回下30条数据,而不是每次都向服务器请求返回全部数据,既费带宽又费cpu。

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧