ТОЛЬКО ДЛЯ FETCH с FETCH FIRST ONLY? - PullRequest
0 голосов
/ 24 августа 2018

Есть ли какое-либо преимущество в производительности для добавления FOR FETCH только к запросу DB2, в котором уже есть ТОЛЬКО ПЕРВАЯ СТРОКА FETCH, или в синтаксис FETCH FIRST X ROWS уже включены все преимущества FOR FETCH ONLY?

1 Ответ

0 голосов
/ 24 августа 2018

Эти два предложения имеют совершенно разные цели и поведение.

FOR FETCH ONLY, альтернативно FOR READ ONLY сообщает оптимизатору запросов, что вы не собираетесь обновлять или удалять какие-либо извлеченные строки, чтобы он мог более эффективно извлекать строки (блокировать) и уменьшать количество ресурсов, необходимых для поддержания состояния курсора.

FETCH FIRST x ROWS ONLY предназначен для того, чтобы сообщить оптимизатору, что вы не заинтересованы в чтении всего набора результатов, каким бы большим он ни был. Это может привести к тому, что оптимизатор выберет план доступа, в результате чего первые строки будут возвращены клиенту быстрее.

Вы должны использовать пункты (одну или другую, или обе), когда они соответствуют вашей цели. Пожалуйста, прочитайте связанные страницы документации для более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...