怎么我用ADO做查询的时候,特别的慢,这里需要指出,我用的是ACCESS数据库,数据库达到最大极限值2G,数据有100万条左右,因为有二进制的数据,所以比较占用空间,我在用常规的VC+ADO 做了一个Select count(*)...需要的时间要远远超过用Access打开这个库建一个查询做的select count(*)...,为什么????做其他的查询也是一样。 另外Access数据库能不能进行多连接查询??

解决方案 »

  1.   

    那可能是ACCESS得问题,您还是换SQL Server吧;
    进行多连接查询需要将ACCESS设置成共享访问;不允许独占访问
      

  2.   

    严重同意楼上的意见这么大的数据量早就应该换SQL Server了
      

  3.   

    很显然是VC++对数据库的支持做的不是很好,建议用DELPHI。
      

  4.   

    不同意思楼上,我觉得应该是ACCESS的病,VC对什么的支持都是很好的,只不过不是很好使用,我用ADO连ACCESS也总出病,很多问题使我不得不容错,而且可以真观的判断出很多问题只可能在ACCESS端出病,使用SQLSERVER就很好了,很多处理的工作都可以放心的放入SQLSERVER内处理
      

  5.   

    不知道你有没有为表设置主键、索引什么的,这很恩重要,设和没设有时速度相差10倍,但是也不要设太多索引,这会影响插入速度,聚合函数尽量不要用“*”,而是要尽量指定设为索引的字段,比如:select count(field1) from table1.
    Access支持多连接查询,但是不要太多,慢死了,
      

  6.   

    要注意到这么一个问题,就是在ADO连ACCESS的时候,即使你是执行Select count(*)...这样的本来应该有数据库来完成的工作,它也还是把所有数据传到应用程序,因此当数据量大时,总是有致命的弱点
      

  7.   

    Access数据库不能进行多连接查询!
      

  8.   

    我也用access做过50万条记录的数据库,我觉得还是查询时做的选择不明造成的。
    再有access最好只做单机的数据库,如果数据库只限于单机上运行,就不要考虑大型的数据库了。
      

  9.   

    我觉得你的数据量这么大,应该改用SQL SERVER,它对海量数据有较好的支持,特别是与微软的DEVELOPER STUDIO珠联璧合,或者你如果懂ORACLE,建议使用,其效率应该说强于SQL SERVER!