在delphi里面用ado控件+odbc数据源访问本机上的sql server和sybase数据库
速度都相当慢,对一个几千万条记录的表进行查询大概要4,5秒种,
比在Query Analyzer或者vc里面执行同样的语句要慢很多。
换成bde速度基本没有提高。
这可能是什么原因?
是我的程序编的不对,还是delpi访问数据库本来就这么慢?
或者是odbc数据源的问题?

解决方案 »

  1.   

    我想和odbc有关!
    你可以用ado直接访问sql server!
      

  2.   

    ADO连MS SQL的速度是非常快的。几千万条记录4,5秒完成还算慢吗?
      

  3.   

    用Adotable,并且加了很多Lookup字段,并且用主从结构。
    如果数据一多,速度慢得要死。
      

  4.   

    我在Query Analyzer或者sybase的advantage里面执行同样的查询速度非常快,
    基本感觉不到延迟。
    在delphi里面用ado或者bde都很慢,
      

  5.   

    我说错了一点,
    用bde访问还是相当快的,就是用ado(odbc数据源+ADOConnection+ADOQuery)会很慢,有明显的延迟
      

  6.   

    用ADO当然比BDE慢,如果发布怕麻烦的话,我劝你用dbexpress,DBEXPRESS对SQL的支持非常好,速度也不比bde慢
      

  7.   

    sybase用odbc
    sql server用ado
      

  8.   

    用adoquery吧!adoTable每次都会将记录取完出来的。