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安全错误
数据库的锁怎样保障安全
互联网科技海报
小米移动互联网科技园
港股互联网科技股
互联网 科技创新
高科技与互联网
猪兼强互联网科技
杭州互联网科技公司
成都互联网科技公司
融势互联网科技
火传媒上海互联网科技
山东吉时兔互联网科技有限公司
互联网和高科技公司
中国互联网有什么科技含量
武汉健翔互联网络科技有限公司
明优互联网科技有限公司
南通创西澳互联网科技有限公司
宇信科技在杭州互联网排第几
江苏互联网科技小贷
互联网科技对化妆品行业
互联网金融金融科技
互联网新科技
为想互联网科技
米客互联网科技
互联网科技的未来发展
互联网和高科技公司
互联网科技产品
互联网经济与金融科技
湖南一路畅行互联网科技
允成互联网科技有限公司融资
东风日产互联网科技公司叫什么