【问题标题】:Postgresql slow simple queries using PHP PDO/driverPostgresql 使用 PHP PDO/驱动程序进行缓慢的简单查询
【发布时间】:2021-07-13 23:03:44
【问题描述】:

很难理解为什么来自谷歌云服务的 PostgreSQL 使用 PDO 或 pg 驱动程序对我的 PHP 代码中的任何简单查询(~4 行表)花费 > 400 毫秒。 IP ping 平均在 60 毫秒左右,所以这似乎不是距离问题。同时使用 PGAdmin 和 PHP 会产生大约 400 多毫秒的响应时间。

$before_conn1 = microtime(true);
$result = pg_query($connector->conn(),$query);
$after_conn1 = microtime(true);

$test = $after_conn1 - $before_conn1;
echo $test;return;

// 响应时间 0.46275 unix 时间戳

查询如下所示:

SELECT id,clearance from table

从字面上看,表格有 4 行 2 列。

【问题讨论】:

  • select 123;查询的时间是几点?此外,也许您应该在此处编辑并发布您的确切查询,但更改名称(以防止安全泄漏)。
  • @Top-Master,感谢您的及时回复。选择 123 花了 0.4780
  • 那么这似乎是一个故意的限制(来自谷歌方面),也许见another post about this same matter
  • $connector->conn() 在做什么?它是否建立了新的联系?如果是这样,您是否使用连接池?
  • 也许再试一次并排除$connector->conn()方法的时间(通过将它的结果存储在一个变量中,在$before_conn1 = ...行之前)。

标签: php postgresql google-cloud-platform cloud


【解决方案1】:

似乎延迟是由 PDO 驱动程序引起的。我不确定为什么,但最终使用 pg_query 进行单个查询,使用 pg_send_query 进行批量选择,异步响应效果非常好!希望这对其他人有帮助。

【讨论】:

    猜你喜欢
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    相关资源
    最近更新 更多