Какой самый быстрый способ загрузки данных из Oracle с помощью ADO? - PullRequest
0 голосов
/ 08 апреля 2011

Мне нужно прочитать миллионы регистров из базы данных Oracle, используя ADO. Какие параметры следует использовать для достижения наилучшей производительности?

1 Ответ

3 голосов
/ 08 апреля 2011

Быстрее использовать интерфейс ADO _Recordset напрямую, чем использовать TADODataset. ADO не очень быстрый, и TADODataset должен запросить базовый набор _Recordset, чтобы определить типы столбцов и т. Д. (ADO имеет интерфейсы SafeCall, так что для чтения каждой функции / свойства требуется немало затрат, посмотрите на сгенерированную сборку в представлении ЦП). Используя _Recordset напрямую, я оптимизировал загрузку данных в наши собственные объекты данных с коэффициентом 2 (множество небольших запросов). Может быть, это полезно для большого количества данных.

Для больших запросов вы можете использовать «только для чтения» «курсор на стороне сервера» с «открытым вперед» (с курсором на стороне клиента данные загружаются и кэшируются на клиенте)

...