在更新多个记录时,我总是在循环中使用简单的sql update语句。这意味着sql很快但数据库连接多次。 最近我一直想知道使用循环来构建一次执行多个更新的sql语句是否会好得多。
这有什么不同吗?我正在使用PHP 5.6& MySQL的。
谢谢。
答案 0 :(得分:0)
最好的解决方案是完全避免循环。
如果你绝对需要使用循环,最好在数据库端进行,因为这样可以消除与PHP /数据库通信相关的开销。
答案 1 :(得分:0)
正如Optimizing UPDATE Statements所述:
获得快速更新的另一种方法是延迟更新,然后在以后连续执行许多更新。如果锁定表格,一起执行多个更新要比一次执行多个更新快得多。
您还可以在Optimizing INSERT Statements上找到有用且信息丰富的页面。
总结一下,用最一般的术语来说:连接一次并发送一个UPDATE
语句比连接一次并发送多个UPDATE
语句更好,这反过来要比连接多次发送更好每个连接上都有一个UPDATE
语句。
除此之外,还有许多技术可以用来进一步优化 - 但我们需要了解手头的具体配置和要求。