以及这么多的记录传到客户端时改如何处理?
环境是局域网,万分感谢大家指点!
12 个解决方案
#1
用到多少条记录就返回多少条,处理完这一段再继续返回下一段,如此反复直到10万条都搞完,而不是一次性返回所有记录。很简单的道理,就好比分页显示数据,假设一个屏幕只能显示30行数据,那就请求返回30条数据,点下一页时就返回下30条数据,而不是每次都向服务器请求返回全部数据,既费带宽又费cpu。
#2
如果这10万条数据要返回后立即处理,那就用多条线程去分段请求数据,就跟多线程下载文件一个道理。
#3
万分感谢“专业撸过”,能否给一些例子代码看看,谢谢!
#4
原始ADO是可以取的,至于c++builder里面的ado控件是有超时无响应的,最好自己用tcp传输
#5
谢谢nextseconds,我感觉如果直接用ADO会有很多问题
#6
10万条记录,确定你不需要分页?
#7
一次取到客户端内存里了。
#8
用ado一次返回10万条记录小意思,我曾经一次取回sqlserver2000的3个字段的40w条记录在DBGrid里列出,没有任何问题,DBGrid反应也很快,不过这么多都取回来没什么用
#9
如果ADO出现异常你可以ping一下服务器,一般会有大量的断点,解决方法是延长ADO的响应时间,最根本的是解决这种网络异常,因为这种时候大多数CS程序的连接都会出现问题
ADO是很完美的,SQLSERVER2000也是一个经典的产品,只是Access不尽如人意
ADO是很完美的,SQLSERVER2000也是一个经典的产品,只是Access不尽如人意
#10
要看数据量的,如果一条记录1K字节,10W就是100M字节,局域网下用户少时还勉强能接受,如果一条记录10K,那么就是1G字节,单用户都成问题了。
#11
是了,1k字节很大了,大概只有文章系统才会用这么多字节了
#12
我的文章系统的标题的字段总长度才设为40字符,一般的标题用到的最长也就20字符,文章内容就可以很长了。一般是先列出标题,用户根据标题选文章,当用户要看文章时再用另一控件执行一次查询取回文章内容。
#1
用到多少条记录就返回多少条,处理完这一段再继续返回下一段,如此反复直到10万条都搞完,而不是一次性返回所有记录。很简单的道理,就好比分页显示数据,假设一个屏幕只能显示30行数据,那就请求返回30条数据,点下一页时就返回下30条数据,而不是每次都向服务器请求返回全部数据,既费带宽又费cpu。
#2
如果这10万条数据要返回后立即处理,那就用多条线程去分段请求数据,就跟多线程下载文件一个道理。
#3
万分感谢“专业撸过”,能否给一些例子代码看看,谢谢!
#4
原始ADO是可以取的,至于c++builder里面的ado控件是有超时无响应的,最好自己用tcp传输
#5
谢谢nextseconds,我感觉如果直接用ADO会有很多问题
#6
10万条记录,确定你不需要分页?
#7
一次取到客户端内存里了。
#8
用ado一次返回10万条记录小意思,我曾经一次取回sqlserver2000的3个字段的40w条记录在DBGrid里列出,没有任何问题,DBGrid反应也很快,不过这么多都取回来没什么用
#9
如果ADO出现异常你可以ping一下服务器,一般会有大量的断点,解决方法是延长ADO的响应时间,最根本的是解决这种网络异常,因为这种时候大多数CS程序的连接都会出现问题
ADO是很完美的,SQLSERVER2000也是一个经典的产品,只是Access不尽如人意
ADO是很完美的,SQLSERVER2000也是一个经典的产品,只是Access不尽如人意
#10
要看数据量的,如果一条记录1K字节,10W就是100M字节,局域网下用户少时还勉强能接受,如果一条记录10K,那么就是1G字节,单用户都成问题了。
#11
是了,1k字节很大了,大概只有文章系统才会用这么多字节了
#12
我的文章系统的标题的字段总长度才设为40字符,一般的标题用到的最长也就20字符,文章内容就可以很长了。一般是先列出标题,用户根据标题选文章,当用户要看文章时再用另一控件执行一次查询取回文章内容。