Проверяет знание механизма поэтапной выборки большого набора результатов.
Курсор — это объект, позволяющий на стороне сервера поэтапно считывать результаты запроса, не загружая их сразу в клиентское приложение. Полезен для обработки больших выборок с контролем размера пакетов.
Объявление курсора:
BEGIN;
DECLARE cur CURSOR FOR SELECT * FROM large_table;Чтение данных по частям:
FETCH 100 FROM cur;Закрытие:
CLOSE cur;
COMMIT;Преимущества:
Снижает потребление памяти на клиенте.
Контролирует размер пакетов (batch size).
Ограничения:
Требует транзакцию до закрытия.
Может держать блокировки.