php - 通过 MySql 命令中的 foreach 循环加速执行

标签 php mysql foreach

我有一个 PHP foreach 语句,循环遍历大量的 $icons

对于每个图标,数据库列 sequence 都需要更新。如下:

foreach ($icons as $key => $icon) {
    // MySql pseudo-code:
    UPDATE `tbl_icon2album` 
    SET `sequence`= $key +1 
    WHERE iconID= $icon['id']       
}

我的问题:对于大量图标,这变得非常慢。

我的问题:我可以通过执行一条以某种方式包含 foreach 循环的 MySql 命令来加快速度吗?

非常感谢...

最佳答案

您可以将所有更新放在另一个表中,并使用单个查询进行更新,例如

 UPDATE tbl_icon2album, some_other_table
 SET    sequence = some_other_table.new_key_value
 WHERE  iconID = some_other_table.icon_reference

关于php - 通过 MySql 命令中的 foreach 循环加速执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20547486/

相关文章:

php - 如何将图像的文件路径转换为实际图像?

javascript - Wordpress 多媒体库中的 JQUERY 错误

php - 如何通过 PHP 对静态图像应用 pagecurl 效果

mysql - 如何仅针对以 "Table_"开头的表创建在更新后触发的触发器

javascript - 如何将 JavaScript forEach 循环/函数转换为 CoffeeScript

c# - foreach 中的 List<T> 与 IEnumerable<T>

PHP imagettftext() 中心文本

mysql - 将没有数字 ID 的非常大的表从 MySQL 加载到 S3

mysql - 基于关系 MYSQL INSERT 行

c++ - for_each 奇怪的行为