如何通过 PHP PDO 使用异步 Mysql 查询

2024-04-10

Mysqlnd 驱动程序 PHP 5.6 有机会使用异步查询http://php.net/manual/en/mysqli.reap-async-query.php http://php.net/manual/en/mysqli.reap-async-query.php

如何将异步查询与 PDO 结合使用?

这不行,代码(PHP 异步 mysql 查询 https://stackoverflow.com/questions/27240421/php-asynchronous-mysql-query):

$dbConnectionOne = new \PDO($cnn0, $conf['user'], $conf['pass']);
$dbConnectionOne->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);

$dbConnectionTwo =  new \PDO($cnn0, $conf['user'], $conf['pass']);
$dbConnectionTwo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$dbConnectionTwo->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);


$t = time();
$synchStmt = $dbConnectionOne->prepare('SELECT sleep(2)');
$synchStmt->execute();

$asynchStmt = $dbConnectionTwo->prepare('SELECT sleep(1)');
$asynchStmt->execute();

$measurementConfiguration = array();
foreach ($synchStmt->fetchAll() as $synchStmtRow) {
   print_r($synchStmtRow);
}

while (($asynchStmtRow = $asynchStmt->fetch()) !== false) {
   print_r($asynchStmtRow);
}


$t = time() - $t;

echo 'query execute ', $t, ' sec',PHP_EOL;

排除 2 秒,但结果 = 3 秒


不可以。您不能将 Mysql 异步查询与 PDO 一起使用。 mysqli是唯一的选择。

你可以用这个mysqli_multi_query或常规的query/poll/reap http://php.net/manual/ru/mysqli.poll.php顺序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 PHP PDO 使用异步 Mysql 查询 的相关文章

随机推荐

  • 单元测试 AuthorizationHandler

    我在 NET Core 2 1 中使用了基于资源的授权模式 如下所述 我唯一的问题是我不知道如何测试我的AuthorizationHandler干净地 这里有人已经做过类似的事情了吗 AuthorizationHandler示例 来自上面的
  • Postgresql 错误:必须出现在 GROUP BY 子句中或在聚合函数中使用

    在您将其标记为重复之前 我尝试了同一个网站上给出的几种解决方案 但没有一个起作用 My query SELECT temp fk settlements sku temp fk settlements order item id temp
  • PushManager订阅承诺从不履行也不拒绝

    我目前遇到一些 Chrome Chromium 版本的问题 其中PushManager subscribe来自 ServiceWorker 的承诺保持待处理状态 代码本身非常简单 return serviceWorkerRegistrati
  • Safari 中不显示边框图像

    边框图像未显示在 Safari 或平板电脑和移动设备上 在 FF IE Chrome 和 Opera 中都没有问题 这是 HTML div class col sm 4 ctas div class rooms img src images
  • C#在Excel文件中添加多个超链接的优化方式

    我想问是否有一些实用的方法可以使用 C 在 Excel 工作表中添加多个超链接 我想生成一个网站列表并锚定它们的超链接 以便用户可以单击此类超链接并访问该网站 到目前为止 我已经提供了简单的嵌套 for 语句 该语句循环遍历给定 Excel
  • 如何在 Vaadin Flow 的 FormLayout 中添加空格?

    例如 如果我有 2 列和 2 行的表单 但希望将第一个第一列中的第二列保留为空 如何在不添加空值 空跨度 的情况下执行此操作 field empty field field 现在我正在做 formLayout add new TextFie
  • OAuth 2.0 令牌对于提供商来说永远是唯一的吗?

    当 OAuth 2 0 提供商颁发令牌时 该令牌值对于提供商而言是否永远是唯一的 或者是否有可能在未来的某个时候 大概在令牌过期后 可能会为不同的用户发行具有相同值的另一个令牌 在搜索中 我发现了很多有关令牌过期的信息 但没有关于该令牌值将
  • Cmake 与 bitbake 配方

    我正在尝试用我自己的包构建 yocto 图像 我在 github 上有使用 cmake 的 OpenCV 代码 我试图为其编写一个食谱 但遇到了很多错误 任何人都可以提示我的食谱中应包含哪些功能或参数吗 我的食谱如下 DESCRIPTION
  • Struts2如何在页面之间导航时保​​留表单值?

    我的项目使用的是 struts2 spring3 请帮我解决这个问题 在我的应用程序中 a jsp 与 gt aAction java 相关 从主菜单 用户可以访问a jsp a jsp 中有很多字段 用户需要键入数据 在页面中间 用户需要
  • Cx_Freeze 找不到 pkg_resources/*.*'

    我正在尝试使用 cx Freeze setup py 文件和以下命令构建 EXE python setup py bdist msi 该命令的输出以以下内容结尾 正在从包 pkg resources 复制数据 错误 错误 3 系统 找不到指
  • 活动资​​源响应,如何获取它们

    我有一个活动资源 可以查询数据 它返回记录 计数 无论我要求什么 例如 product Product find 123 响应标头应该包含一个自定义属性 例如 HTTP PRODUCT COUNT 20 我想检查响应 IRB 执行此操作的最
  • InsertMany 在 mongodb 中不起作用

    我对 Mongoose 和 MongoDB 本身相当陌生 我试图保存一堆通过 insertMany 方法插入的文档 但它没有保存文档 这是我的代码 Model var mongoose require mongoose var Schema
  • 使用 IPv6 进行地理定位?

    我正在开发一个 IP 地理定位库 它使用 IPv4 地址的前三个八位字节来确定用户的国家 地区 城市 纬度 经度等 效果非常好 但它不处理 IPv6 地址 我希望它能够处理 有没有办法转换 IPv6 地址以获得 IPv4 地址的前三个八位字
  • 是否可以根据内容设置比例网格列?

    使用 Flexbox 或 CSS Grid 是否可以根据其中一列的内容来调整我的列的大小 这就是我想要的 我有 2 列 一个main and a side container main side
  • 在 Laravel 中合并两个数组值

    我想在 laravel 5 3 中合并两个数组 我有变量 type 返回 Illuminate Support Collection Object items protected gt Array 1 gt rinu 这是从查询中得到的 t
  • 找不到 PDF 标题:找不到“%PDF”

    当我尝试加载 pdf 时收到此日志 但不知道为什么 failed to find PDF header PDF not found 她是我的代码 void viewDidLoad webview loadRequest NSURLReque
  • 如何使用 .htaccess 将任何外部链接重定向到特定的 url 格式?

    我想重定向所有外部链接 即像这样的链接http www someothersite com anything在我的网站上 比如说http www example com to http www example com something 这
  • glDrawBuffer(GL_NONE) 与 glColorMask 设置为全部 GL_FALSE

    glDrawBuffer GL NONE 和 glColorMask GL FALSE GL FALSE GL FALSE GL FALSE 有什么区别 两者只是丢弃对颜色缓冲区的任何绘制的另一种方式吗 还是有一些差异 首先也是最重要的 g
  • 如何安全更新 Grails 插件

    我从事 grails 项目已经有一段时间了 我最初安装的一些插件已经更新 我运行了以下脚本来查看哪些插件需要更新 grails list plugin updates 结果是 Plugins with available updates a
  • 如何通过 PHP PDO 使用异步 Mysql 查询

    Mysqlnd 驱动程序 PHP 5 6 有机会使用异步查询http php net manual en mysqli reap async query php http php net manual en mysqli reap asyn