码迷,mamicode.com
首页 > 其他好文 > 详细

mycat引起的insert后马上select不到数据的故障分析

时间:2019-03-22 18:25:18      阅读:363      评论:0      收藏:0      [点我收藏+]

标签:解决   读写分离   语句   code   one   代码   原因分析   从库   分析   

由于有2个task表t_task和e_task,代码中Insert了t_task后马上select t_task然后把结果Insert到e_task,结果发现经常e_task会没有任何数据。

原因分析:使用mycat后读写分离,select语句会去从库读取t_task,这个时候很可能从库还没有把主库的t_task同步到e_task,导致查询不出来t_task所以e_task也没有插入。

所以对于这种毫秒级的insert后马上查询,可以用如下的语句保证select语句走mycat的主库,解决这个bug

<select id="selectOneTaskByCode" resultMap="BaseResultMap">
/*#mycat:db_type=master*/ select * from t_task where task_code=#{taskCode}
</select>

mycat引起的insert后马上select不到数据的故障分析

标签:解决   读写分离   语句   code   one   代码   原因分析   从库   分析   

原文地址:https://www.cnblogs.com/xiaohanlin/p/10579915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!