Spec-Zone.ru › MySQL 9.2

7.6.4 Плагин переписывания запросов Rewriter

  • 7.6.4.1 Установка или удаление плагина переписывания запросов Rewriter
  • 7.6.4.2 Использование плагина переписывания запросов Rewriter
  • 7.6.4.3 Справочник по плагину переписывания запросов Rewriter

MySQL поддерживает плагины переписывания запросов, которые могут анализировать и, возможно, изменять SQL-запросы, полученные сервером, перед их выполнением сервером. См. Плагины переписывания запросов.

Дистрибутивы MySQL включают плагин переписывания запросов postparse, именуемый Rewriter, и скрипты для установки плагина и связанных элементов. Эти элементы работают вместе, предоставляя возможность переписывания операторов:

  • Плагин на стороне сервера под названием Rewriter анализирует операторы и может переписывать их на основе своего кэша правил переписывания в оперативной памяти.

  • Эти операторы подлежат переписыванию: SELECT, INSERT, REPLACE, UPDATE и DELETE.

    Самостоятельные операторы и подготовленные операторы подлежат переписыванию. Операторы, входящие в определения представлений или хранимых программ, переписыванию не подлежат.

  • Плагин Rewriter использует базу данных под названием query_rewrite, содержащую таблицу под названием rewrite_rules. Таблица обеспечивает постоянное хранение правил, которые использует плагин для принятия решения о переписывании операторов. Пользователи взаимодействуют с плагином, изменяя набор правил, хранящихся в этой таблице. Плагин взаимодействует с пользователями, устанавливая значение столбца message в строках таблицы.

  • База данных query_rewrite содержит хранимую процедуру под названием flush_rewrite_rules(), которая загружает содержимое таблицы правил в плагин.

  • Используемая функция под названием load_rewrite_rules() используется хранимой процедурой flush_rewrite_rules().

  • Плагин Rewriter предоставляет системные переменные, которые позволяют настраивать плагин, и переменные состояния, которые предоставляют информацию о работе во время выполнения. Этот плагин также поддерживает привилегию (SKIP_QUERY_REWRITE), которая защищает запросы данного пользователя от переписывания.

Следующие разделы описывают, как установить и использовать плагин Rewriter, а также предоставляют справочную информацию о связанных элементах.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/rewriter-query-rewrite-plugin.html

Spec-Zone.ru

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