【发布时间】: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