Referință rapidă

Fișă de referință pentru trucuri și sfaturi Rails

Ghid rapid de referință pentru sfaturi de performanță în Rails, comenzi rapide în consolă, optimizări de interogări și productivitate.

· Publicat

Scurtături esențiale de productivitate, modele de optimizare a memoriei și trucuri de depanare pentru ingineria zilnică în Rails.

Optimizări de memorie și interogare

1. pluck vs map

pluck interoghează direct coloanele bazei de date fără a instanția obiecte ActiveRecord în memorie:

# LENT: Instanțiază 10.000 de obiecte User în memorie
User.all.map(&:email)

# RAPID: Selectează doar coloana email ca tablou de șiruri
User.pluck(:email)

2. Procesare în loturi cu find_each

Evitați încărcarea tabelelor masive în memorie dintr-o dată:

# Încarcă în loturi de 1.000 de înregistrări
User.find_each(batch_size: 1000) do |user|
  user.sync_with_crm
end

Scurtături de productivitate în consolă

# Acces la rezultatul ultimei expresii evaluate
user = User.find(1)
_ # Returnează obiectul user

# Măsurarea timpului de execuție în consolă
Benchmark.ms { 1000.times { User.count } }

# Reîncărcarea codului aplicației fără repornirea consolei
reload!

Actualizarea marcajelor de timp (touch)

Actualizați timestamp-ul updated_at al modelului părinte atunci când o asociere copil se modifică:

class Comment < ApplicationRecord
  belongs_to :article, touch: true
end

Referințe

Subiecte conexe