ADO GetRows Slower Than GetFields and MoveNext

ADO GetRows Slower Than GetFields and MoveNext

本文关键字:and MoveNext GetFields Than GetRows Slower ADO      更新时间:2023-10-16

我有一个函数,它创建了一个带有WHERE子句的SELECT语句。该函数随后被多次调用(每次WHERE子句都不同)。我有两个版本的这个函数。打开记录集,然后使用MoveNext迭代每一行,并从每一行中填充一些变量。另一个版本打开记录集,然后调用GetRows来填充数组。使用第一个版本,我的应用程序需要9秒,但使用GetRows版本需要79秒。我读到GetRows更高效。事实并非如此吗?

只要你没有耗尽内存,它就会更高效(即,如果你的可用内存已经很低,而我们谈论的是一个大表,那么把它们放在内存中可能会让你的应用程序开始分页到磁盘,而另一种方法则不会,因为它一次只会得到几个)。

为什么不发布违规代码,看看是否有其他原因导致了问题?