【问题标题】:PHP mysqli multi query empty resultsPHP mysqli 多查询空结果
【发布时间】:2011-08-21 07:42:59
【问题描述】:

我使用 mysqli 多查询在一个大块中执行一些插入和更新,而不是在大量单独的查询中执行它们,基本上我不关心结果,即使它是一个错误并且我在 PHP 上阅读过。我可以使用 multi_query 函数的 net doc 页面:

while ($mysqli->next_result()) {;}

查看结果,以便我可以执行更多查询。但是这里的问题似乎是,如果我替换 ; ,那么每个循环都需要永远运行。 echo "Next"; 在每个下一个被回显之间大约有半秒。

有什么方法可以加快速度,或者清空结果或其他什么?

【问题讨论】:

  • 您的查询是什么样的?尝试优化您的数据库。
  • 它们并不是真正的大查询,只是在数据库中插入/更新一些整数。但有时在传递给 multi_query 的字符串中会有很多查询。如果这可以产生影响,该表有很多行? (~220,000)
  • 我认为它可以,不知何故,这就是为什么我还建议在您的数据库上运行优化。
  • 刚刚试过了,不幸的是没有任何区别
  • 您是否使用了 PHP.net 上显示的确切设置? http://php.net/manual/en/mysqli.multi-query.php - 如果没有,试试吧,如果你这样做了,我想你需要优化你正在运行查询的数据(基础)。

标签: php sql mysqli mysqli-multi-query


【解决方案1】:

你可以试试

UPDATE LOW_PRIORITY ...

还有

INSERT DELAYED ...

如果您使用的是 MyISAM 存储引擎

【讨论】:

    猜你喜欢
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 2017-07-24
    • 2013-09-23
    • 1970-01-01
    相关资源
    最近更新 更多