MySQL运维实战之ProxySQL(9.7)改写SQL

俊达9个月前技术文章273

使用查询修改功能,可以在不改变应用程序的情况下,修改SQL语句。比如,我们可以使用SQL改写的功能,给SQL添加hint,以此来优化性能。

delete from mysql_query_rules;

insert into mysql_query_rules
(rule_id, username, match_pattern, replace_pattern, 
  destination_hostgroup, active, apply, comment )
values (20, 'user1',
  '^SELECT\s+(.*?)\s+FROM\s+ta\s+where\s+a\s+=\s+(\d+)$',
  'SELECT \1 FROM ta force index(idx_a) WHERE A = \2', 
  101, 1, 1, 'add force index');

load mysql query rules to runtime;


在上面的例子中,我们给查询加上了force index的hint。



查询修改是通过正则表达式实现的。

match_pattern中,可以将表达式通过括号括起来,

replace_pattern中,可以应用match_pattern匹配到的括号中的内容,使用\1 \2这样的方式引用。



相关文章

HDP-Yarn开启CPU调度和隔离

HDP-Yarn开启CPU调度和隔离

进入到ambari主界面 点击yarn 点击config CPU Scheduling and Isolation 设置为enable修改高级配置点击ADVANCED搜索需要修改的配yarn.node...

MySQL运维实战之备份和恢复(8.1)xtrabackup全量备份

xtrabackup是percona开源的mysql物理备份工具。xtrabackup 8.0支持mysql 8.0版本的备份和恢复。xtrabackup 2.4支持mysql 5.7及以下版本的备份...

CDP实操--动态启停服务

以yarn nodemanager 为例获取role yarn nodemanager:curl -u admin:admin 'http://172.16.106.151:7180/api/v1/c...

oracle11g打补丁31537677验证报错

环境:操作系统: Kylin Linux Advanced Server V10数据库:oracle 11.2.0.4问题描述:打补丁31537677/时候补丁集对.so文件的验证报错$ORACLE_...

开源大数据集群部署(二)集群基础环境实施准备

开源大数据集群部署(二)集群基础环境实施准备

1、部署实施Ø  部署实施章节中灰色文本内容为操作命令和配置文件内容。Ø  下文中$表示系统命令解释器开始符号,且表示所有机器都要执行,如出现[hadoop@hd1.dtstack...

image.png

VMware Vsphere创建虚拟机

一、上传系统镜像打开数据中心 2、新建文件夹,存放镜像3、点击上传文件按钮    4、找到本地镜像上传二、安装虚拟机1、创建虚拟机 2、选择创建类型 3、为虚拟机命名并选择虚拟机安装的所在位置4、选择...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。