MySQL 8.0 Query Rewrite支持DML
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,MySQL 8.0 Query Rewrite支持SELECT INSERT UPDETE DELETE REPLACE语句重写这个功能要点赞,比如开发上线时,有个SQL查询字段索引忘记加了,直接把线
千家信息网最后更新 2024年12月13日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安全错误
数据库的锁怎样保障安全
数据库导入数据没有选择栏位
mc百人服务器腾讯云
盐城大数据服务器供货厂
tracer服务器配置
牢记嘱托共同维护网络安全
栾城区网络安全检查
软件开发工资图解
扫码记录数据库
数据库设置sa
数据库应用基础挂了
中国网络安全监督部门
数据库 工程师
女生学网络安全有出路吗
稳定的二手服务器回收
java数据库语句
爬虫的数据怎么保存到数据库
vb字符串插入数据库
青海联想服务器维修维保费用
网络安全相关法律规定
网络安全大赛往年赛题
跨年龄人脸识别数据库
国内专业的服务器主动管理
阿里巴巴网络安全投诉电话
嘉定国家网络安全宣传周
安徽服务器散热器加工云主机
dcom配置网络安全策略
浪潮NF5580A服务器
优米互联网络科技厦门
分布式服务器上网
软件开发工程师 等级