ADO GetRows медленнее, чем GetFields и MoveNext - PullRequest
0 голосов
/ 17 февраля 2012

У меня есть функция, которая создает инструкцию SELECT с предложением WHERE.Затем эта функция вызывается несколько раз (предложение WHERE будет отличаться каждый раз).У меня есть две версии этой функции.Один открывает набор записей, а затем перебирает каждую строку с помощью MoveNext и заполняет некоторые переменные из каждой строки.Другая версия открывает набор записей и затем вызывает GetRows для заполнения массива.В первой версии мое приложение занимает 9 секунд, а в версии GetRows - 79 секунд.Я читал, что GetRows более эффективен.Разве это не так?

1 Ответ

1 голос
/ 17 февраля 2012

это более эффективно, если у вас не хватает памяти (то есть, если у вас уже недостаточно свободной памяти и мы говорим о большой таблице, то получение их в памяти может сделать ваше приложение начать подкачку на диск, в то время как другой подход не делает, потому что он получает несколько одновременно).

Почему бы не опубликовать нарушающий код, чтобы увидеть, есть ли что-то еще, что вызывает проблему?

...