如何避免并发执行INSERT ... ON DUPLICATE KEY UPDATE导致死锁的问题
来源:2-2 安装PXC组建集群

慕九州1544730
2019-01-10
最近在做一个数据实时统计的需求,之前是定时任务统计每天数据,通过跟运维的讨论现在改成从库加一个触发器有数据新增或变更的时候触发统计,这个时候就存在一个问题,每天统计的数据可能当天那种类型数据没有产生过,那么就要insert,如果有那么就要累计update,现在想通过INSERT … ON DUPLICATE KEY UPDATE 这样的sql执行,但是之前一些业务做个(就是现在要统计的业务),数据量非常大,几天就会死锁一次,因该是运维设置了超时自动解锁了,还算可维护,现在做成触发器写存储过程,不知道老师有没有类似经历解决这个死锁问题,还查到一个解决方案是通过联合主键解决死锁问题,不知道是不是只要有联合主键数据库就会加行锁从而能解决还是理解的有问题,参考https://cloud.tencent.com/developer/article/1004900
写回答
1回答
-
神思者
2019-01-10
我的想法是用cancal中间件订阅binlog日志,如果数据发生变化就同步到mongodb里面,在mongodb里面做统计,mongodb是没有锁的
012019-01-10
相似问题
并发量这一指标如何得到?
回答 1
关于碎片整理的问题
回答 2