我有一个运行本机查询的 Spring Boot 应用程序。
UPDATE users
SET status = "A"
, user_id = '1234567'
WHERE card_id = ( SELECT card_id FROM ( SELECT * FROM users d WHERE d.status = "U" LIMIT 1 ) d1) AND status = "U";
在用户表中,
card_id 是主键,
user_id 是唯一键。
该表包含许多具有不同状态的卡(最多 4 个状态)我需要选择状态为“U”的行并将用户分配给该行。
看起来桌子在某个地方被锁住了。
我有大约 500 万条记录。当运行大约 40 个并发用户时,单个调用大约需要 40 秒。
谢谢。