Spec-Zone.ru › MySQL 5.7

13.6.6.5 Ограничения на курсоры на стороне сервера

Курсоры на стороне сервера реализованы в C API с помощью функции. Такая же реализация используется для курсоров в хранимых процедурах. Курсор на стороне сервера позволяет генерировать набор результатов на стороне сервера, но не передавать его клиенту, за исключением запрошенных клиентом строк. Например, если клиент выполняет запрос, но заинтересован только в первой строке, остальные строки не передаются.

В MySQL курсор на стороне сервера материализуется во внутреннюю временную таблицу. Изначально это таблица типа MEMORY, но преобразуется в таблицу типа MyISAM, когда её размер превышает минимальное значение системных переменных max_heap_table_size и tmp_table_size. Те же ограничения применяются к внутренним временным таблицам, созданным для хранения набора результатов для курсора, что и к другим использованиям внутренних временных таблиц. См. Раздел 8.4.4, «Использование внутренних временных таблиц в MySQL». Одним из ограничений реализации является то, что для большого набора результатов получение его строк через курсор может быть медленным.

Курсоры — только для чтения; вы не можете использовать курсор для обновления строк.

UPDATE WHERE CURRENT OF и DELETE WHERE CURRENT OF не реализованы, поскольку обновляемые курсоры не поддерживаются.

Курсоры не сохраняются (не остаются открытыми после подтверждения).

Курсоры — несчитываемые.

Курсоры не имеют имён. Обработчик инструкций выступает в качестве идентификатора курсора.

Вы можете открыть только один курсор на одну подготовленную инструкцию. Если вам нужны несколько курсоров, вы должны подготовить несколько инструкций.

Вы не можете использовать курсор для инструкции, которая генерирует набор результатов, если инструкция не поддерживается в режиме подготовки. Это относится к инструкциям, таким как CHECK TABLE, HANDLER READ и SHOW BINLOG EVENTS.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/cursor-restrictions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API