mysql查询插件语句_MySQL查询重写插件的使用

本文介绍了MySQL从5.7.6版本开始支持的查询重写插件,包括预解析和后解析两种重写方式。插件允许在执行前修改SQL语句,可用于优化查询或解决无法直接修改应用的场景。安装插件后,可以通过向`rewrite_rules`表添加规则并调用`flush_rewrite_rules()`存储过程实现查询重写。示例展示了如何强制使用主键查询,并讨论了插件的相关状态变量和字符集注意事项。
摘要由CSDN通过智能技术生成

查询重写插件

从MySQL 5.7.6开始,MySQL Server支持查询重写插件,可以在服务器执行之前检查并可能修改服务器接收的语句。

以下是官方文档介绍:

预解析重写插件具有以下特点:

1.该插件允许在服务器处理之前重写到达服务器的SQL语句。

2.该插件接收一个语句字符串,并可能返回一个不同的字符串。

后解析查询重写插件具有以下特征:

1.该插件支持基于解析树的语句重写。

2.服务器解析每个语句并将其解析树传递给插件,插件可以遍历树。插件可以将原始树返回到服务器以进行进一步处理,或者构造不同的树并返回该树。

通俗来讲,是指该插件支持两种重写方式,一种是在语法解析之前,直接修改SQL字符串,一种是在语法解析之后,通过操控语法解析树来进行重写。这个特性还是非常有用的,例如错误的上线了某个SQL,但由于无法走到索引导致全库查询; 或者你可能使用某个第三方的已编译好的软件,但SQL可能执行错误,你又无法直接修改应用,这个特性将会非常有用,还可以去编写符合用户要求的插件。

安装或卸载

最简单的安装过程如下:

shell> mysql -u root -p < install_rewriter.sql Enter password: (enter root password here)

b9ac0ef2ab3e3fb1bd2252ea04786c9a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值