深入剖析 SQL 死锁-两条 SQL 之间的死锁原因

摘要

在业务实现中,若数据存在则修改,不存在则插入,通常大家会选用 INSERT INTO... ON DUPLICATE KEY UPDATE 语句让数据库实现此功能。近期在进行开发批量取消预约物流的场景中,由于一个物流对应多个订单,同时取消多个物流时,接口可能会变慢。故采用了多线程,每个物流取消任务对应一个线程。然而,在测试过程中出现了意外问题,当同时取消两个物流单时发生了数据库死锁。

欢迎在评论区写下你对这篇文章的看法。

评论

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-27 06:17
浙ICP备14020137号-1 $Carte des visiteurs$