我有一个查询,它需要很长时间才能运行,但最终会生成一个新表。实际的连接并不是那么慢,但它几乎将所有时间都花在“复制到tmp表”上,在此期间所有其他查询(应该转到无关表)的状态都是“锁定的”。我正在优化长查询的过程,但它可能需要一段时间,因为它是一个离线的过程,但它不适合停止所有其他不应与其相关的查询。有谁知道为什么所有其他无关的查询会回复为“锁定”,以及如何防止这种行为?复制tmp表时MySQL'锁定'进程
1
A
回答
1
你是对的,“不相关的表”不应该受到影响。他们不应该,据我所知他们不是。
关于锁,存储引擎及其处理方法,关于MySQL有很多信息。
要限制锁定,我建议您编写一个应用程序,该应用程序读取执行此新表所需的所有数据,并让应用程序将值插入新表。这可能需要更长的时间,但它会以更小的块进行,并且锁或锁的数量较少。
祝你好运!
-1
什么是您的MySQL版本?
你使用MyISAM吗? MyISAM在大型SELECT命令上有一个很大的LOCK问题。
你有专门的服务器吗?内存表最大容量是多少(在my.cnf中查看)?
+0
-1因为它不是答案。以后会很高兴地宣布退出。 – Mikhail
相关问题
- 1. 是否可以杀死正在复制到tmp表的复制MySQL进程?
- 2. MySQL复制和表锁
- 3. MySQL进程列表 - 锁定问题
- 4. 跳过复制到磁盘上的tmp表mysql mysql
- 5. MySQL锁定表
- 6. MySQL表锁定
- 7. MySQL锁定表
- 8. 将特定列值从tmp表更新(复制)到Mysql中的主表
- 9. MySQL的复制到tmp下表造成挂
- 10. MySQL:缓慢查询使用“group by” - 卡在“复制到tmp表”
- 11. MySql - 表'过程'没有锁定锁定表
- 12. 查询时暂时锁定MYSQL表?
- 13. 何时在MySQL中锁定表(MyISAM表)?
- 14. 如何复制一个锁定的mySQL表?
- 15. 刷新,锁定MySQL表和复制数据文件夹
- 16. 查询卡在“复制到tmp表”
- 17. MySQL MyISAM表锁定
- 18. 锁定mysql表列
- 19. MySQL的表锁定
- 20. 当tmp空间最大化时MySQL进程被终止
- 21. 快速复制tmp文件
- 22. 在MySQL插入过程中,表级锁定会锁定什么?
- 23. 复制表mysql
- 24. 定时数据库复制使用Wamp服务器mysql进行主 - 从复制
- 25. PHP +锁定MySQL表失败
- 26. MYSQL表与PHP锁定
- 27. MySQL InnoDB表导出锁定
- 28. 锁定MyISAM表(MySQL)和PHP
- 29. 在MySql中锁定表格
- 30. mysql复制死锁从站停止
MySQL在复制过程中不会锁定所有表格,只会在复制过程中锁定所有表格。显示一些查询将有所帮助。也许你有一些索引/外键问题会锁定你认为不相关的表。 – Mikhail