在VFP中有语句
use TABLE1
即使TABLE1的记录总数为几十万其执行时间也不超过一秒;但在VC中有以下CRecordset rs;
rs.m_pDatabase=&db;
rs.Open(AFX_DB_USE_DEFAULT_TYPE,"select * from TABLE1");如果TABLE1的记录总数为几十万,上一句代码的执行时间超过一分钟.在下做一查询程序希望象VFP一样先将一个个表放到一个个记录集(对应VFP的一个个工作区),
遇到以上速度问题,请高手指点.
另请问VC里如何使用索引?

解决方案 »

  1.   

    速度问题是DBMS的性能问题,一般程序不是写得太烂都不会有很大影响,其他由DBA负责。
      

  2.   

    VFP中的USE Table1相当于CDatabase::Open(),并且VFP中只是更改当前数据库,相当于只是更改一个变量的值而已,能不快吗?
    不过CDatabase::Open()和CRecordset::Open()也只是打开数据库和记录集的连接而已,并没有取得数据,如果过于慢,应该是网络连接和数据库服务器性能方面的问题。