我正在对mysql运行一些示例测试,并发现有一堆查询卡在“复制到tmp表”中。他们仍然处于同一状态。它们通常是聚合查询,我可以杀死这些查询。但是我怎样才能找出导致它们被卡住的原因?我正在使用带有innodb插件的mysql 5.1.42。
答案 0 :(得分:1)
您最好的选择是对提供该消息的查询使用说明。
explain select count(*) from my_table left join my_other_table on id1 = id2 order by id1;
这将打破您的查询,并向您显示哪个部分导致复制到tmp表。从那里你可以调整查询,或改变你实际查询数据的方式。在某些情况下,架构更改也可能是有序的。