首页 > 解决方案 > 慢速连接 PHP PDO Postgres 但不是 MySQL

问题描述

事情是这样的 - PDO Postgresql 连接在我的设置中似乎真的很慢。我在 MySQL 和 Postgresql 中都有相同的数据库。我测量了几个场景:仅 PDO 连接时间、PDO 连接 + 一个简单的 SELECT 以及最后使用 pg_connect + pg_query 的相同 SELECT。pg_ 方法 (~25k req/s)、PDO MySQL SELECT (~12k req/s) 和 PDO MySQL 连接 (~18k req/s) 似乎没问题,但 PDO Postgres 连接 (~900 req/s) 和连接+ SELECT (~800 req/s) 似乎慢得无法比拟。这是我的代码片段:

MySQL

$db = "mysql:host=$host;dbname=ihmj";
$dbh = new PDO($db, $user, $password);

// connection only
return "";

// + SELECT
return json_encode($dbh->query('SELECT * from comment')->fetchAll());
Postgresql

// the only difference is the db driver
$db = "pgsql:host=$host;dbname=ihmj";
$dbh = new PDO($db, $user, $password);

// connection only
return "";

// + SELECT
return json_encode($dbh->query('SELECT * from comment')->fetchAll());
Postgresql pg_functions

$conn = pg_pconnect(" host = $host dbname = $name user = $user password = $password ");
$result = pg_query($conn, "SELECT * from comment;");

return json_encode(pg_fetch_assoc($result));

我正在使用 PHP 8.0.1。任何帮助表示赞赏。

标签: phppostgresqlperformancepdo

解决方案


推荐阅读