DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Курсоры

Курсор - это средство извлечения данных из базы данных Oracle. Курсоры содержат определения столбцов и объектов (таблиц, представлений и т. п.), из которых будут извлекаться данные, а также набор критериев, определяющих, какие именно строки должны быть выбраны. Для начала дадим два примера очень простых курсоров:

Администраторы Oracle, конечно, знакомы с основным синтаксисом курсоров, но для описания их функциональности (особенно в первом примере) они могут использовать термины «оператор SELECT», «запрос» или «выборка». В целом, это именно то, что делают курсоры, - извлекают данные. Большинство администраторов знают, что курсоры глубоко интегрированы в механизмы базы данных, но не всем известно, что понимание устройства курсоров и управления ими может радикально улучшить производительность приложений для СУБД Oracle.
Предназначенные изначально для выборки данных, курсоры стали неотъемлемой частью PL/SQL. В этой главе рассматривается взаимодействие курсоров с PL/SQL с точки зрения администратора базы данных. В ней рассказывается, как повторное использование курсоров может повысить производительность, обсуждаются различия между явными и неявными курсорами и то, как каждый из них может влиять на вашу базу данных. В ней также исследуется выигрыш в производительности от оптимизации мягко закрываемых курсоров в Oracle. Кроме того, в этой главе обсуждаются курсоры типа REF (динамические), передача курсоров в качестве параметров и курсорные выражения (вложенные курсоры).
На протяжении нескольких лет шла оживленная дискуссия о правильном использовании курсоров в Oracle. В частности, администраторы и разработчики спорили, какой из типов курсоров работает быстрее, или задавались вопросом об эффективности модели повторного использования в Oracle. Прошли годы, и в последних версиях Oracle курсоры были значительно усовершенствованы. Эта глава не имеет целью склонить вас к определенному способу реализации и настройки курсоров в вашей системе. В значительной мере способ использования курсоров определяется характеристиками вашей организации, используемыми в ней данными и приложениями. Здесь мы пытаемся объяснить основные возможности и дать некоторые рекомендации, которые смогут помочь вам сделать правильный выбор.
Повторное использование курсоров
В основе концепции повторного использования курсоров лежит очень простая идея: после использования курсор может быть использован еще раз. Говоря точнее, скомпилированная версия курсора может использоваться повторно во избежание расходов на разбор и повторную компиляцию.
 









jAntivirus