OracleDataReader няма да постави всички записи в паметта. Погледнете свойството Fetchsize, което контролира количеството действително кеширани записи, докато не се нуждаем от второ пътуване до базата данни.
Ако искате Oracle да връща редове по-бързо, например, можете да опитате
/*+ FIRST_ROWS(n) */
намек във вашата заявка спрямо
/*+ ALL_ROWS */
намек, ако можете да изчакате всички данни.