繁体   English   中英

查询效率

[英]Query efficiency

$_query = 'UPDATE ' . TABLE_A1 . ' SET active=0 WHERE user_id IN ( ';
                foreach ($newUsers as $newUser) {
                    $_query.=$newUser. ' ,';
                }
                $_query = rtrim($_query, ',');
                $_query .=')';

这是一次一次编辑多个表条目的高效方法吗? 有更快的方法吗?

谢谢

是的,这非常出色。 我不知道有什么更快的方法。

UPDATE很好。 通过使用implode而不是遍历该数组,可以使您的PHP更加优雅。

即:

$_query = 'UPDATE ' . TABLE_A1 . ' SET active=0 WHERE user_id IN (' . implode(',', $newUsers) . ');'

您可以在查询中添加另一个约束,这可以加快查询速度,但这取决于您如何获得用户...

如果您有一些已经为“ active = 0”的用户,则可以通过添加以下方式将其排除在查询之外

....其中active <> 0和user_id在(...

这将防止对已经具有正确值的字段进行更新。 我在一个系统上有一个类似的查询,它正在更新数百万条包含正确信息的记录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM