Вы можете добавить еще одно противоречие к запросу, что может немного ускорить его, но это зависит от того, как вы получаете своих пользователей ...
Если у вас есть пользователи, которые уже «активны = 0», вы можете исключить их из запроса, добавив
.... где active <> 0 и user_id in (...
Это предотвратит обновления в полях, которые уже имеют правильное значение. У меня был похожий запрос в системе oncce, и он обновлял миллионы записей, которые уже содержали правильную информацию ...