首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询效率

查询效率
EN

Stack Overflow用户
提问于 2010-11-18 19:12:38
回答 3查看 127关注 0票数 1
代码语言:javascript
复制
$_query = 'UPDATE ' . TABLE_A1 . ' SET active=0 WHERE user_id IN ( ';
                foreach ($newUsers as $newUser) {
                    $_query.=$newUser. ' ,';
                }
                $_query = rtrim($_query, ',');
                $_query .=')';

这是一种同时编辑多个表项的有效方法吗?有没有更快的方法?

谢谢

EN

回答 3

Stack Overflow用户

发布于 2010-11-18 19:16:05

是的,这是非常好的表现。我不知道有没有更快的方法。

票数 1
EN

Stack Overflow用户

发布于 2010-11-18 19:35:17

更新很好。您可以通过使用implode而不是遍历该数组来使您的PHP更优雅一些。

即:

代码语言:javascript
复制
$_query = 'UPDATE ' . TABLE_A1 . ' SET active=0 WHERE user_id IN (' . implode(',', $newUsers) . ');'
票数 1
EN

Stack Overflow用户

发布于 2010-11-18 19:40:54

您可以向查询添加另一个约束,这可能会使查询速度更快,但这取决于您如何获得用户……

如果你有一些已经是"active=0“的用户,那么你可以在查询中排除他们,添加

……active<>0和user_id在哪里(...

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4214119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档