【发布时间】:2014-03-20 11:44:40
【问题描述】:
当 Sebastien 说他在每次使用 mysqli_multi_query() @@Can mysqli_multi_query do UPDATE statements? 之间断开连接并重新连接时,我感到畏缩,因为这似乎不是最佳实践。
但是,Craig @@mysqli multi_query followed by query 在他的案例中表示,在每次使用 mysqli_multi_query() 之间断开和重新连接比使用 mysqli_next_result() 更快。
我想问一下,当程序员应该选择“新连接”还是“下一个结果”方法时,是否有人有进一步的第一手知识或基准证据来建议一个近似的“截止”(基于查询量或其他东西) .
我也很高兴听到与速度无关的任何/所有问题。 Craig 使用连接函数对速度有影响吗?
克雷格的while语句是否有速度差异:
while ($mysqli->next_result()) {;}
- 与 -
我建议的 while 语句:
while(mysqli_more_results($mysqli) && mysqli_next_result($mysqli));
- 与 -
在第一次运行 multi_query 之前,为每个预期的 multi_query 创建一个新连接。我刚刚对此进行了测试,两个mysqli_multi_query()s 没有错误=不需要close():
$mysqli1=mysqli_connect("$host","$user","$pass","$db");
$mysqli2=mysqli_connect("$host","$user","$pass","$db");
- 与 -
像塞巴斯蒂安和克雷格一样在每个mysqli_multi_query() 之间打开和关闭:
$mysqli = newSQL();
$mysqli->multi_query($multiUpdates);
$mysqli->close();
- 与 -
还有其他选择可以测试吗?
【问题讨论】:
标签: php mysqli benchmarking mysqli-multi-query