[英]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.