Если вам нужна скорость, вы также можете вызвать выполнение непосредственно в AR-соединении. Я использовал что-то подобное для импорта большого количества данных.
connection = ActiveRecord::Base.connection
email = connection.quote(email)
zip = connection.quote(zip)
connection.execute(%{UPDATE "users" SET "email" = #{email}, "zip" = #{zip} WHERE "users"."id" = #{user.id}})
Обратите внимание, что проверки и обратные вызовы не будут выполняться.