sql指定了FORCESLAVE为什么还会在主服务器执行呢-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

sql指定了FORCESLAVE为什么还会在主服务器执行呢

monroe0608 2018-11-05 11:06:52 2206
[font="]这样一条语句
[font="]

[font="]/*FORCE_SLAVE*/ select count(order_id) from order_info WHERE status = 1 and id = 3 and sign = 0 and type = 0;
[font="]

[font="]

[font="]期望是在只读数据库执行的, 但是看日志都在主数据库执行了?
[font="]

求助啊.............
SQL 数据库
分享到
取消 提交回答
全部回答(2)
  • 田杰
    2019-01-24 18:14:53
    Resql指定了FORCESLAVE为什么还会在主服务器执行呢
    1、要验证下是否使用的是读写分离地址
    2、要验证下真正发送的请求(是否带了 /*FORCE_SLAVE*/ hint),建议在 ECS 客户端抓包
    3、要看一下是否请求是否被封装在事务中了,事务中的请求会被直接路由到主实例。
    4、要看一下当时只读实例是否存在超过配置阈值的复制延迟。
    0 0
  • monroe0608
    2018-11-05 11:39:29
    Resql指定了FORCESLAVE为什么还会在主服务器执行呢
    链接用的是读写分离的地址, 也没有问题
    权重主服务器0, 只读是200

    不指定SLAVE 和 MAST的很多select语句也都在主服务器上执行
    0 0
添加回答
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程