我一直在从事一个相当大的C++项目,该项目令人惊讶地使用MS Access 97作为其基础数据库引擎。我注意到代码中有很多实例,这些实例是通过查询创建记录集的,这些查询集可能返回超过100,000条记录。

我很好奇,如果在构建记录集时ADO是否会将所有数据拉入内存,或者它更聪明并且当您尝试从记录集读取数据时只能“及时”加载数据?我们收到了许多来自客户的性能投诉,这对我来说似乎是有罪的。

(正在迁移到更新的数据库引擎上。请相信我,团队中没有人对Access感到满意)

最佳答案

在这里将Access用于数据库存在几个问题:

  • 据说它支持255个并发用户,实际上是6个
    和20是最大数目,数据库连接较少
    尺寸/复杂度增加。
  • 数据库大小和
  • 的2Gb限制
  • 是,数据被本地缓存,因此如果您有5000个结果,则
    您只需要接受它们即可:)
  • 关于c++ - 建立ADO记录集时是否将数据拉入内存?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7980539/

    10-11 23:17
    查看更多