MySQL 8.0 Query Rewrite支持DML
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,MySQL 8.0 Query Rewrite支持SELECT INSERT UPDETE DELETE REPLACE语句重写这个功能要点赞,比如开发上线时,有个SQL查询字段索引忘记加了,直接把线
千家信息网最后更新 2026年10月31日MySQL 8.0 Query Rewrite支持DML
MySQL 8.0 Query Rewrite支持SELECT INSERT UPDETE DELETE REPLACE语句重写
这个功能要点赞,比如开发上线时,有个SQL查询字段索引忘记加了,直接把线上CPU打满,此时,你可以将SQL重写,让业务先报错,别打死数据库,然后马上通知开发回滚,等加完索引后再上线。
安装插件
mysql -S /tmp/mysql_hcy.sock -p123456 <./install_rewriter.sql
查看是否生效
SHOW GLOBAL VARIABLES LIKE 'rewriter_enabled';
编写重写规则
insert into query_rewrite.rewrite_rules(pattern, replacement, pattern_database) values ("SELECT * from sbtest1 limit ?","SELECT k,c from sbtest1 limit ?","test");意思为:
将以下语句
SELECT * from sbtest1 limit ?;
改写成:
SELECT k,c from sbtest1 limit ?;
注:问号?为变量
执行规则生效
CALL query_rewrite.flush_rewrite_rules();
演示
mysql> SELECT * from sbtest1 limit 1\G;*************************** 1. row ***************************k: 499284c: 83868641912-28773972837-60736120486-75162659906-27563526494-20381887404-41576422241-93426793964-56405065102-335184323301 row in set, 1 warning (0.00 sec) ERROR: No query specified mysql> show warnings\G*************************** 1. row *************************** Level: Note Code: 1105Message: Query 'SELECT * from sbtest1 limit 1' rewritten to 'SELECT k,c from sbtest1 limit 1' by a query rewrite plugin1 row in set (0.00 sec)
索引
规则
语句
开发
支持
业务
功能
变量
字段
意思
插件
数据
数据库
要点
问号
马上
查询
演示
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网
广州淘业互联网络科技
鸠鸠互联网科技
互联网金融 金融科技
中国互联网科技发展
善班互联网科技有限公司
广州凡科互联网科技
上游互联网科技
互联网科技网站
互联网科技的未来发展
互联网公司会议桌创意科技软装饰
中国最先进互联网科技公司
字节跳动和互联网科技
互联网科技如何创业
科技赋能视角下互联网保险发展
云南省自由互联网科技有限公司
皮皮虾互联网科技有限公司
互联网科技手机排行榜
版纳互联网科技选哪家
现代科技的标志之一的互联网
互联网科技公司税收优惠
盈实互联网科技
互联网医疗科技
成都玖崟互联网科技有限公司乐商圈怎么样
欧洲十大科技互联网公司
以后互联网后是啥科技
武汉健翔互联网络科技有限公司
成都互联网科技公司工作好不好
呼和浩特新华互联网科技学院
上海互联网科技公司ppt