Подтвердить что ты не робот

В чем разница между установкой размера выборки отчета в JDBC или запуском SQL-запроса с помощью предложения LIMIT?

В чем разница между установкой размера выборки инструкции в JDBC или запуском SQL-запроса с предложением LIMIT?

4b9b3361

Ответ 1

SQL LIMIT ограничит ваши результаты SQL-запроса теми, которые попадают в указанный диапазон. Вы можете использовать его для отображения первого числа X результатов или для отображения диапазона результатов X-Y.

размер выборки - количество строк, физически извлекаемых из базы данных за один раз с помощью драйвера JDBC при прокрутке запроса ResultSet с next(). Например, вы устанавливаете размер выборки запроса равным 100. Когда вы извлекаете первую строку, драйвер JDBC извлекает первые 100 строк (или все из них, если менее 100 строк удовлетворяют запросу). Когда вы извлекаете вторую строку, драйвер JDBC просто возвращает строку из локальной памяти - ей не нужно извлекать эту строку из базы данных. Эта функция повышает производительность за счет сокращения количества вызовов (которые часто являются сетевыми передачами) в базе данных.

Итак, даже если настройка размера выборки переводится JDBC в предложение SQL LIMIT, большая разница с форсированием SQL-запроса с помощью LIMIT заключается в том, что с JDBC вы действительно можете просматривать all.

Ответ 2

SQL LIMIT применяется во-первых, в тот момент, когда SQL-сервер строит результирующий набор в качестве ответа на запрос. Он может иметь (и обычно имеет) влияние на используемый план запросов и, следовательно, также на время ответа SQL-сервера. Набор результатов содержит только строки, которые коррумпируют ограничение - вы не можете получить больше.

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