我有一个从各种资源中收集数据的mysql数据库。
为了显示来自不同表格的一些统计数据,我运行了一个长查询,大约需要几分钟才能执行。
查询锁定了一些表,因此我无法写入这些表。
这些表是InnoDB引擎。我试了几个选项,包括:
1.增加锁定超时
2.添加SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
和COMMIT;
(link)
3.添加索引表(进行的查询的运行速度更快,但我仍然得到一个锁定超时错误)mysql - 长查询执行时间锁表
如何在不锁定表的情况下执行长查询?
什么是查询? – Sebas
这是一群SELECT年代,JOIN的,SUM和更多... –
你肯定有一个锁?请'SHOW PROCESSLIST'和'SHOW ENGINE INNODB STATUS'。选择不锁定任何东西。但他们可能*等待*为锁释放 – Sebas