2011-08-22 85 views
2

我想知道如果一个复杂的查询(多个LEFT JOIN的,一些子SELECT和一些GROUP BY的)在远程客户端执行时比在本地客户端中执行速度慢很多。MySQL:在远程客户端上比在本地客户端上查询速度慢吗?

我一直认为查询完全在服务器上执行,并且只有发送的结果在WAN上比在LAN上慢。

但是,几乎立即在本地执行的一些查询似乎永远持续在远程客户端。我正在使用Navicat,并通过普通的互联网连接(20 mbit,1 mbit)访问远程服务器。

在客户端和服务器之间可能还有一些交互,而查询执行?也许一些缓存在本地比远程快得多?! (以为缓存服务器端发生过...)

UPDATE: 只是做了一个表上的非常大的考验与500.000记录与几个子查询的和组(查询了700秒),使用SELECT COUNT围绕复杂的查询,并与SQL_NO_CACHE和它完全相同的时间远程作为本地....猜测它只是发送的数据是那么慢远程然后...

回答

3

不。只有数据量转移和请求的数量将是一个因素。

Navicat可能会使用一些元通信 - 可能会运行一些小的查询。