Oracle - жизненный цикл курсора

вступление

Хорошее знание жизненного цикла и работы курсоров позволит вам оптимизировать приложения, выполняющие запросы SQL.

Обратите внимание : «Курсор - это процедура, позволяющая назначить имя« инструкции SELECT »и изменить информацию в инструкции SQL»

Начиная

Шаги при выполнении курсора:

  • Открытие курсора: память выделяется для курсора в личной памяти серверного процесса (на стороне сервера), связанного с сеансом (глобальная область пользователя UGA). Обратите внимание, что ни один запрос SQL не связан с курсором на данный момент
  • Путь курсора: с ним связан SQL-запрос. Представление маршрута запроса, включая план его реализации, который описывает, как механизм SQL выполняет оператор SQL, загружается в общий пул в кеше библиотеки . Структура в UGA обновляется для хранения указателя на область, связанную с курсором, в библиотечном кеше.
  • Определение выходных переменных: запрос SQL возвращает данные, поэтому необходимо определить переменные, связанные с ними. Это определение также требуется для запросов DELETE, INSERT и UPDATE (с использованием предложения RETURNING).
  • Связывание входных переменных: если в запросе SQL используются переменные, они должны быть предоставлены. Проверка по ссылке не производится. Если переданы неверные значения, будет вызвана ошибка времени выполнения.
  • Выполнение курсора: на этом этапе выполняется SQL. В зависимости от механизма базы данных этап фактической реализации может быть отложен во время выборки.
  • Выборочный курсор (восстановление содержимого): если запрос SQL возвращает результат, он восстанавливается. Как правило, именно на этом этапе происходит лечение.
  • Закрытие курсора : курсор, связанный с ресурсами в UGA, автоматически освобождается. Курсор в кеше библиотеки не удаляется в ответ на возможное использование в будущем.
Предыдущая статья Следующая статья

Лучшие советы