Access数据库中表的遍历问题?(50分)

  • 主题发起人 刀刀温柔
  • 开始时间

刀刀温柔

Unregistered / Unconfirmed
GUEST, unregistred user!
如果Access数据库中某一个表一万多条记录,那么该用什么样的算法来遍历速度才能更快? 用ADOTable1.first;
while not ADOTable1.Eof do
begin
{--- 读取记录 ---}
ADOTable1.next;
end;
这样速度特慢,谁有更好的算法呢? 先谢了!
 
1) 不要用while语句,而改用for
for I := 0 to RecordCount - 1 do
ADOTable1.Next;
2) 有些字段在建立索引,如: select * from my_table where id > 100 and salary < 2000
这样,请建立一个索引,字段包括id, salary,其它类似,主要是在where, order by后面跟上的语句应该使用索引
 
用adoquery吧,比用adotable快很多,我试过的,你试一下
 
to : app2001
用ADOQuery之后读取还是用那样的方式吗?就是:
while not ADOTable1.Eof do
begin
{--- 读取记录 ---}
ADOTable1.next;
end;
 
是的,什么样的循环都差不多一样的。另外,象楼上说的那样,建立索引后会效果更好些
 
ADOQuery方便,再把locktype设为ltReadOnly
用法和adotable一样
 
关键是用好的算法了
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
746
SUNSTONE的Delphi笔记
S
顶部