gpt4 book ai didi

MySql InnoDB 多个读者和作者的争用问题

转载 作者:行者123 更新时间:2023-11-29 11:50:15 25 4
gpt4 key购买 nike

对于 InnoDB,如果一个进程从表中读取数据,而另一个进程写入同一个表,是否会出现争用问题?

最佳答案

是的,存在争用。但 InnoDB 非常努力地(1)最小化对用户的影响,(2)解决导致“冲突”的争用。

读取器卡在他们正在查看的行上,但仅足以防止写入在完成之前更改值。 (这是一个又长又复杂的话题,涉及“事务隔离模式”等)

写入者会阻塞行以防止其他写入踩到他们的脚趾。

如果两个线程尝试访问同一行,其中一个可能会被迫等待,直到另一个线程完成其“事务”。

在更极端的情况下,每个线程都在等待另一个线程,从而发现“死锁”。这会导致一笔交易被“回滚”。

底线:争用很少成为问题。但是,您应该在每个 SQL 语句之后检查错误,以防出现死锁。

关于MySql InnoDB 多个读者和作者的争用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34215530/

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