我有一个SQL查询需要7秒才能在一台计算机上运行,但在另一台计算机上(相同的硬件,数据库已经与mysqldump一起复制,因此是相同的),同样的查询运行超过2000秒。 / p>
我如何找出原因?我可以在网上找到关于调试慢速mysql的所有建议似乎归结为“找到慢速查询”。这对我没有帮助。显示进程列表不显示正在运行的任何其他查询,那么为什么在一台计算机上执行此操作比另一台计算机花费数百倍的时间?
答案 0 :(得分:0)
据我所知,您的SQL Server在两种情况下都是相同的。你所说的是当从client1执行查询x时需要几秒钟;而来自其他客户端client2的时间超过2000秒。
我觉得问题是client2和数据库服务器之间的网络。尝试在这两个服务器之间ping。它应该给你一些提示。您提到服务器未显示查询执行的事实也支持这一理论。
如果在两种情况下SQL Server都不同;索引等是相同的;然后问题是很长一段时间没有在client2上执行ANALYZE。