0

如果我有一张大桌子(1M 行)

我发送一个 SELECT * FROM 表(没有任何限制,其中...)

  • 我使用 PDO 准备的查询
  • 只用一个PDO::fetch 方法(不是 fetchAll)来获取我的结果

mysql通信层发生了什么?

1)mysql服务器是否将所有行发送到mysql客户端,mysql客户端将第一行发送到PHP?(所以在PHP服务器和MySQL服务器上使用了很多内存)

2) mysql 客户端是否只从 mysql 服务器获取网络上的一行?(所以大量内存只用在 MySQL 服务器上)

(php 5.3.3 和 libmysqlclient1.6)

4

1 回答 1

0

这取决于您选择的缓冲模式和 mysql 客户端版本。在您的情况下,数据将在 mysql 服务器端使用。

缓冲和非缓冲查询

于 2013-07-03T18:00:08.200 回答