本人使用DELPHI的BDE下QUERY控件用SQL语句进行查询操作,当数据记录过超过1000万条记录的时候,查询速度非常慢,通常需要1分钟以上的时间
代码如下:
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('select name  from ship02 where cust_id = '''+puser+'''');
Query.Open ;
jl:=Query.RecordCount;
if jl <>0 then
begin
for i :=1 to jl do
begin
pname:=quotedstr(trim(Query.Fields.Fields[0].AsString));
Query.Next;
end;
end;请问有没任何方法可以加快查询的速度?或者BDE下QUERY控件是否支持索引?如果写?谢谢。

解决方案 »

  1.   

    Query.Close; 
    Query.SQL.Clear; 
    Query.SQL.Add('select name  from ship02 where cust_id = '''+puser+''''); 
    Query.Open ; 
    while not query.eof  
    begin 
      pname:=quotedstr(trim(Query.Fields.Fields[0].AsString)); 
      Query.Next; 
    end; “请问有没任何方法可以加快查询的速度?或者BDE下QUERY控件是否支持索引?"
    对于这句话你理解的不对,索引都是针对数据库而言的与你所使用的控件没关系,在查询时建义使用绑定参数,这样可以减少数据库的硬解析。