gpt4 book ai didi

mysql - 如何并行写入 MySQL 中的同一行?

转载 作者:行者123 更新时间:2023-11-29 03:41:53 24 4
gpt4 key购买 nike

我目前正在构建一个运行计算的系统,每 5 秒将基于这些计算的信息插入或更新到 MySQL 中的几行。我现在正致力于同时在几台不同的服务器上运行这个系统,其中有几个代理,每个代理都在做类似的处理,然后在同一组行上写入。我已经随机化了每个代理写入其行集的顺序,但是仍然有很多死锁发生。解决这些僵局的最佳/最快方法是什么?我应该在每次发生查询时重新运行查询,还是进行行锁定,或者完全做其他事情?

最佳答案

我建议您尝试一些不需要多个客户端来更新您的“几行”的方法。

例如,您可以让每个生成结果的代理使用 MEMORY 访问方法对暂存表执行 INSERT

然后,您可以每隔五秒运行一个 MySQL 事件(服务器中的一个存储过程),循环遍历该表中的所有行,将结果发布到您的“几行”中,然后删除它们。如果按顺序处理登台表中的行很重要,那么您可以使用 AUTO_INCREMENT id 字段。但它们是否井然有序可能并不重要。

如果您想变得比这更奇特、更具可扩展性,您将需要一个队列管理系统,例如 Apache ActiveMQ。

关于mysql - 如何并行写入 MySQL 中的同一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12846596/

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