Skip to main content

optimize_validation_performance

⚡️ Optimizing Validation Performance

Skip expensive validations in bulk operations by using update_all or import for read-only data loads. For filtered models, conditionally disable validations or wrap in ActiveRecord::Base.without_callbacks to bypass unneeded callbacks.

# Bulk import without validations
User.import columns: [:name, :email], values: big_array_of_values, validate: false

# Temporarily skip callbacks
User.skip_callback(:validation, :before, :normalize_email)
users = User.where(active: true).to_a
User.set_callback(:validation, :before, :normalize_email)