ADO和BDE的速度(50分)

  • 主题发起人 主题发起人 guth
  • 开始时间 开始时间
G

guth

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi7+MS SQL server2000,数据库中有150万条记录,使用Edit显示某一个字段值,本机操作:
使用BDE的Database+query遍历需要大约30秒钟
使用ADO的Adoconnection+Adoqurey遍历需要2分钟
不是都推崇ADO吗?为什么ADO不如BDE速度快?或者是我的操作有问题?不会仅仅是为了移植方便吧?
 
有高手给说说吗?
 
有你这样比的吗?
遍历150万条记录并使用Edit显示某一个字段值,这样的事情根本就不应该出现在程序中!
真想追求速度应该用原生的sql server API
 
BDE 就是比 ADO 快。但是编程不能仅讲一个“快”。何况谁也不会一次遍历150万条记录。
 
菜刀和砍柴刀各有用途,仔细琢磨各自区别。
 
楼上这样说那人家还问啥。。。
效率方面BDE好像比ADO要好,但是开发效率应该不能放第一位,放第一位的应该是稳定性,然后再说效率,不然怎么那么多人使用Java、.NET?
BDE:
兼容性不是很好
不是很稳定
目前长期不更新,以后也不太可能更新
ADO:
兼容性比较好
比较稳定
长期更新,有微软做后盾(不过现在几乎没有更新了,特别是.NET使用越来越多以后难说还会不会再更新)

据无数人的使用经验,ADO比BDE好用,实用,ADO发布容易,比较稳定。
 
是的,一般不会遍历150万条记录,我最终需要的结果是:
日期 部门 人员 交易种类 分值合计
......
所以,要先计算每条记录所对应的分值,然后分组统计才行。技术性不大,关键是速度。
我以为ADO会快一些,还以为是我写的有问题,所以这么问一下。
我是初学者,呵呵
 
这种统计应该放在服务器端进行,不要使用单机版数据库的经验去套

比如:用一个SQL命令直接算出结果,实在太复杂的就做一个存储过程
 
多谢 JamesBond_L 及楼上各位,各位还有什么建议吗,没有就散分了,呵呵!
 
建议楼主研究一下SQL中的select命令的group by部分,貌似一条命令可以搞定(而且很快得到结果)。
 
谢谢楼上,最后的结果一条语句可以搞定,计算分值需要4、5个表才可以。
知道了BDE和ADO的区别就OK了,谢谢大家!
 
为什么散分后帖子就不显示了?
 
页面上部:
“问题类型”处选“已答”
再点击“检索”可看到已经结束的问题
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
756
import
I
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部