在PHP / MySql中构建sql或while循环是否更好?

时间:2017-02-19 16:48:18

标签: php mysql sql

在更新多个记录时,我总是在循环中使用简单的sql update语句。这意味着sql很快但数据库连接多次。 最近我一直想知道使用循环来构建一次执行多个更新的sql语句是否会好得多。

这有什么不同吗?我正在使用PHP 5.6& MySQL的。

谢谢。

2 个答案:

答案 0 :(得分:0)

最好的解决方案是完全避免循环。

如果你绝对需要使用循环,最好在数据库端进行,因为这样可以消除与PHP /数据库通信相关的开销。

答案 1 :(得分:0)

正如Optimizing UPDATE Statements所述:

  

获得快速更新的另一种方法是延迟更新,然后在以后连续执行许多更新。如果锁定表格,一起执行多个更新要比一次执行多个更新快得多。

您还可以在Optimizing INSERT Statements上找到有用且信息丰富的页面。

总结一下,用最一般的术语来说:连接一次并发送一个UPDATE语句比连接一次并发送多个UPDATE语句更好,这反过来要比连接多次发送更好每个连接上都有一个UPDATE语句。

除此之外,还有许多技术可以用来进一步优化 - 但我们需要了解手头的具体配置和要求。