gpt4 book ai didi

MySql 不使用模块更新每第 n 行以避免死锁

转载 作者:行者123 更新时间:2023-11-29 10:05:37 26 4
gpt4 key购买 nike

我有几个同时运行的查询,每个查询应该更新自己的第 n 行,具体取决于我需要运行的查询数量。例如,我们需要运行 5 个查询,因此 where 子句应该是 where (id MOD :queries_amont) = :current_query_number

但在这种情况下,我遇到了死锁,我认为这是因为 MySql 正在扫描所有行以查找要更新的正确行,因为没有索引可供使用。

是否可以平衡同时运行的查询之间的行更新?或者如何避免当前实现的死锁?

最佳答案

一般来说:如果您必须在没有任何事件的情况下不断运行某些语句,那么您的数据库设计可能非常糟糕。如果这些陈述需要很长时间,则更是如此。所以你应该考虑改变它。要回答您的问题,您可以使用 window functions仅适用于每第 n 行。

关于MySql 不使用模块更新每第 n 行以避免死锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51967666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com