Riferimento rapido

Guida rapida a trucchi e consigli per Rails

Guida di riferimento rapido a trucchi di prestazioni in Rails, scorciatoie da console, ottimizzazioni di query e produttività.

· Pubblicato

Scorciatoie essenziali per la produttività, pattern per ottimizzare la memoria e trucchi di debug per lo sviluppo quotidiano in Rails.

Ottimizzazioni di Query e Memoria

1. pluck vs map

pluck interroga direttamente le colonne del database senza istanziare oggetti modello ActiveRecord in memoria:

# LENTO: Istanzia 10.000 oggetti User in memoria
User.all.map(&:email)

# VELOCE: Seleziona solo la colonna email come array di stringhe
User.pluck(:email)

2. Elaborazione a lotti con find_each

Evita di caricare tabelle enormi in memoria tutte in una volta:

# Carica in blocchi da 1.000 record
User.find_each(batch_size: 1000) do |user|
  user.sync_with_crm
end

Scorciatoie di Produttività nella Console

# Accedi al risultato dell'ultima espressione valutata
user = User.find(1)
_ # Restituisce l'oggetto user

# Misura il tempo di esecuzione nella console
Benchmark.ms { 1000.times { User.count } }

# Ricarica il codice dell'applicazione senza riavviare la console
reload!

Aggiornamento dei timestamp (touch)

Aggiorna il timestamp updated_at del modello genitore quando un'associazione figlia cambia:

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

Riferimenti

Argomenti correlati