gpt4 book ai didi

mysql - 为什么mysql查询需要表锁隔离读未提交?

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

有没有办法让 mysql 查询不对 myisam 表进行任何锁定?

我的问题似乎是我的 Sphinx 搜索索引器在我的一个 myisam 表上锁定了超过 60 秒,这似乎使更新语句等待锁被释放,这反过来又使其他查询等待更新语句完全的。索引器使用 mysql_use_result 并在调用 mysql_free_result 之前完成大部分索引工作。至少这是我对正在发生的事情的最佳猜测,但如果您觉得这不对,请告诉我。

解决该问题的一种方法似乎是按 ID 范围分割索引器查询。但似乎我不应该这样做,因为我真的不需要这个查询来阻止任何其他查询同时运行。在此用例中,性能比一致性重要得多。

谢谢!

最佳答案

似乎mysql查询总是对myisam表进行读取锁定。

我的问题的解决方案是在 my.cnf 的 [mysqld] 部分设置 low-priority-updates = 1。

我仍然想知道是否有一种方法可以在不使用读锁的情况下在 mysql 中进行查询,但我会打开另一个问题,并为此提供一个更好的标题。

谢谢!

关于mysql - 为什么mysql查询需要表锁隔离读未提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2013718/

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