造成原因:
innodb是行级锁,innodb的行锁是通过给索引项加锁实现的。如果update执行where后的条件为非索引,会造成更新一条记录对全表进行加锁。
解决办法:
给where后条件进行索引创建,或者先通过条件查询出主键id,在通过主键id来更新对象。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐