Установка более высокого размера выборки строк в Oracle замедляет работу моего приложения?

Как подробно описано здесь и подтверждено здесь , количество строк по умолчанию, возвращаемых Oracle по умолчанию при запросе данных через JDBC равно 10. Я работаю над приложением, которое должно читать и сравнивать множество данных из нашей базы данных. Я думал, что если мы просто увеличим defaultRowPrefetch до примерно 1000, то наше приложение наверняка будет работать быстрее. Как оказалось, он работал медленнее и примерно на 20%.

Затем мы решили просто медленно увеличивать число с 10 и посмотреть, как это работает. Мы наблюдали увеличение примерно на 10%, если установили его где-то между 100 и 200. Я никогда бы не догадался, однако, что, установив более высокое значение, наше приложение будет работать медленнее. Есть идеи, почему это могло произойти?

Спасибо!

РЕДАКТИРОВАТЬ:

Просто для пояснения, я использую Oracle 11g R2 и Java 6.

РЕДАКТИРОВАТЬ 2:

Хорошо, я хочу еще раз сформулировать свой вопрос, чтобы быть ясным, потому что, судя по приведенным ниже ответам, Я неправильно выражаюсь:

Как это возможно, что, если я установлю больший размер выборки, мое приложение будет работать медленнее? Для меня это звучит как высказывание: «Мы даем вам более быстрое интернет-соединение, то есть более толстую трубу, но ваш просмотр веб-страниц будет медленнее.

При прочих равных условиях, как и в наших тестах, нам очень любопытно, как наше приложение могло бы работать хуже только с этим одним изменением.

27
задан daveslab 15 February 2012 в 20:45
поделиться