Facciamo un esempio per capire la differenza tra loro.
Un'azienda ha molti dipendenti e tra l'azienda e i dipendenti esiste una connessione uno a molti.
Precaricamento:
Il precarico carica i dati in due query.
Include anche il caricamento dei dati associati in due query nel caso predefinito.
Non possiamo utilizzare il precaricamento per aggiungere condizioni per la tabella associata. Come nel nostro caso, non possiamo aggiungere la query where per i dipendenti. Genera un errore nell'aggiungere dove e ordinare in base alla tabella associata.
carico_appassionato:
Il caricamento impaziente carica tutti i dati associati in un'unica query. Eagrload utilizza il left external join per combinare i dati. Possiamo utilizzare where query anche con carico desideroso per filtrare i dati dalla tabella associata.
Si unisce:
I join caricano i dati in una singola query. Utilizza l'inner join per portare i dati.
I join sono utili se stiamo filtrando i dati dalla tabella associata, ma se vogliamo recuperare i dati dalla tabella relazionale, carica query separate per ogni colonna di dati.
Include la soluzione per evitare query multiple. Carica i dati dalla tabella associata senza più query.
Include come precarico:
Include come desideroso_load:
Eager_load carica tutte le colonne in una singola query ma Include carica i dati secondo necessità. Funziona come precaricamento nel caso predefinito e funziona come aware_load in caso di query aggiuntive nella tabella associata.
RailsCarma porta oltre 10 anni di esperienza in soluzioni all'avanguardia nella creazione Applicazioni Ruby on Rails e migliorare le tue applicazioni ferroviarie già esistenti. Con un team di esperti dotati di una vasta conoscenza del framework RoR, RailsCarma ti aiuta a tradurre le tue esigenze aziendali in uno sviluppo più rapido ed economicamente vantaggioso di applicazioni su misura. Infondendo pratiche agili nel nostro Sviluppo del RoR, portiamo la codifica priva di errori a un livello superiore con la nostra esemplare manutenzione e supporto post-distribuzione. Facci sapere sulle tue esigenze aziendali per aiutarti a realizzare i tuoi obiettivi di sviluppo di rotaie con un ROI positivo.