1.环境

  • 一主一从Mysql数据库
  • ProxySQL配置的规则是所有的select操作均在从节点进行,更新(for update)操作均在主节点进行

2.实操后的结论

  1. 仅仅select操作,无论是在@Transactional注解的方法中,还是不在注解方法中。查询走的都是从库
  2. 所有的更新(update,insert,delete),无论在不在注解方法中执行,都会走主库

    3.在一个事务方法中,在第一条更新语句之前的查询操作均走从库,第一条更新语句后的查询操作均走主库
    image.png

4.select … for update的语句并且必须是写在xml文件中的会走主库,但是使用mybatis-plus的querywrapper查询时及时加for update仍然走从库