文档主页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  重写器查询重写插件

7.6.4 重写器查询重写插件

MySQL 支持查询重写插件,这些插件可以在服务器执行 SQL 语句之前检查并可能修改它们。请参阅 查询重写插件

MySQL 发行版包含一个名为 Rewriter 的后解析查询重写插件,以及用于安装该插件及其相关元素的脚本。这些元素协同工作以提供语句重写功能。

  • 名为 Rewriter 的服务器端插件会检查语句,并可能根据其重写规则的内存缓存重写它们。

  • 以下语句可以进行重写:SELECTINSERTREPLACEUPDATEDELETE

    独立语句和预处理语句可以进行重写。视图定义或存储程序中的语句不能进行重写。

  • Rewriter 插件使用名为 query_rewrite 的数据库,其中包含一个名为 rewrite_rules 的表。该表为插件用于决定是否重写语句的规则提供持久存储。用户通过修改存储在此表中的规则集来与插件进行通信。插件通过设置表行的 message 列来与用户进行通信。

  • query_rewrite 数据库包含一个名为 flush_rewrite_rules() 的存储过程,该过程将规则表的内容加载到插件中。

  • 名为 load_rewrite_rules() 的可加载函数由 flush_rewrite_rules() 存储过程使用。

  • Rewriter 插件公开了用于启用插件配置的系统变量和提供运行时操作信息的状体变量。此插件还支持权限 (SKIP_QUERY_REWRITE),该权限可以保护给定用户的查询不被重写。

以下部分介绍如何安装和使用 Rewriter 插件,并提供其相关元素的参考信息。