MySQL 8.0 Query Rewrite支持DML
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,MySQL 8.0 Query Rewrite支持SELECT INSERT UPDETE DELETE REPLACE语句重写这个功能要点赞,比如开发上线时,有个SQL查询字段索引忘记加了,直接把线
千家信息网最后更新 2025年11月10日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安全错误
数据库的锁怎样保障安全
简阳市网络安全
软件开发项目组成员职责
对网络安全的认识和心得2000
软件开发的生命周期是指什么
校园网络安全学习感想
不同服务器登录是什么意思
软件开发辛苦感言
软件开发的困境
上海ibm服务器维修
厦门二手服务器回收公司哪家好
鲤城区网络安全中心
数据库接口连接别的数据库
服务器管理软件怎么看
公网ip和服务器绑定
遥志代理服务器破解版
c s数据库假设
ibm服务器出现问题
数据库 域指的是什么意思
网络维运和网络安全是什么意思
软件开发者壁垒
网络安全事件桌面推演
数据库窗体字体颜色设置
实用计算机网络技术是什么
摄影专用数据库
vbs连接数据库
如何给服务器做数据
数据库接口连接别的数据库
软件开发工程的方法不包括
英国网络安全技术学院
穿越火线北方网通是什么服务器