急问:m_pRecordset->Open()得到的记录在内存中?
是不是经m_pRecordset->Open()函数查询得到的记录数据都暂存于内存中了啊?
如果使用m_pRecordset->Open("SELECT * FROM Table",...)这样的方式最初把Table中所有的记录都一次读入内存中,而此后经过类似于var = m_pRecordset->GetCollect("Age");这种方式对记录进行查询,是不是要比m_pRecordset->Open("SELECT * FROM Table WHERE Age $%%#",...)方式,在只进行大量查询操作的情况下,执行速度快呢?
初学,麻烦大家给予指点,谢谢.
问题点数:20、回复次数:3Top
1 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2006-03-12 17:22:18 得分 0
要看你的记录数,如果一共就10条记录,用 WHERE 和 RS.FIND 没什么区别
如果100万条取 90万条,那么用 SQL WHERE 快
如果100万条取 10 条,然后再从10条中取1条,那么先用 JET SQL 然后用 RS.FIND 快Top
2 楼zhangpx()回复于 2006-03-12 17:43:01 得分 0
我想知道一点:
我们通过SELECT得到的结果集数据存在于哪里呢?
在VC中按照m_pRecordset->Open("SELECT @$%#")方式查询到的满足查询条件的那些记录数据
是已经被放到了内存中呢,还是仍旧在数据库中,如果是在库中,此时它们是通过什么方式组织
的呢?谢谢.
btw:其实我就是想找一种方式,来减少访问数据库的次数,想把所有的查询操作在内存中完成.Top
3 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2006-03-12 20:02:55 得分 20
在内存中Top
相关问题
- 怎么样得到_RecordsetPtr m_pRecordset的记录个数?(ADO)
- 如何判断m_pRecordset是否打开记录级啊?
- 怎么确定返回的记录集m_pRecordset是否为空,或者有几条记录?
- 使用ADOQUERY打开一张表难道把所有记录缓存到客户端?狂吃我几百M内存
- 请问m_pRecordset->Delete()怎么用?里面的参数如何定义在能删除当前记录?
- 我要搜索的记录明明在库中没有,但ADO的_RecordsetPtr m_pRecordset却告诉我"已经找到!"
- redhat7.1 p4,700多m内存,经常耗了400m内存,为什么?
- 记录集Set m_rsBusInfo = rsCountTemp
- 记录集Set m_rsBusInfo = rsCountTemp
- 内存无故少了30几M




