簡體   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