Я хочу проверить предположение, которое я всегда делал. У меня было краткое обсуждение с товарищем по команде, где он предположил, что DataAdapter Fill был быстрее, чем использование DataReader для извлечения данных, поскольку он не перебирал записи. Я предположил, что все наоборот, и DataReader был наиболее эффективным (с очень небольшим запасом и в зависимости от того, как вы его используете, et c, et c), и в любом случае DataAdapter использовал DataReader «под кожей» в любом случае. Когда я кратко посмотрел на исходный код , это всегда так.
Однако я подумал, что должен проверить свое предположение, поэтому я немного погуглил и увидел людей, говорящих , что с DataTable / Set + DataAdapter "весь патрон перемещается по сети одним большим попаданием ». Как это возможно? Или, как я всегда думал, просто абстракция для чтения данных, и он все еще перебирает строки при заполнении DataTable / Set.
Если этот вопрос звучит так, как будто его нужно было сделать 10 лет go тогда это потому, что мы имеем дело с устаревшим кодом, подключающимся к базе данных Oracle. Просто хочу убедиться, что у меня есть четкое и правильное понимание.