Open WiFeng opened 4 years ago
在线上配置 mysql-proxy 后,发现有 1%的 SELECT 读请求转发到了 master,但是并没有使用事务、也没有配置 auto-commit 值。
翻阅各种文档以及源码,最后发现 INSERT 后的第一条 SELECT 会转发到 master 节点上。 如下图:
但是,仍未理解为什么 INSERT 之后要这么处理,等有时间再进一步分析。目前,如果发现部分耗时的 SQL 请求到 master 时,我们可以在 INSERT 之后强制执行一个 SELECT 1 这样的语句来绕开这个问题。
SELECT 1
在线上配置 mysql-proxy 后,发现有 1%的 SELECT 读请求转发到了 master,但是并没有使用事务、也没有配置 auto-commit 值。
翻阅各种文档以及源码,最后发现 INSERT 后的第一条 SELECT 会转发到 master 节点上。 如下图:
但是,仍未理解为什么 INSERT 之后要这么处理,等有时间再进一步分析。目前,如果发现部分耗时的 SQL 请求到 master 时,我们可以在 INSERT 之后强制执行一个
SELECT 1
这样的语句来绕开这个问题。