Questa è una discussione io e alcuni dei miei colleghi stanno avendo e ho pensato che sarei venuto qui e vedere se ci fosse un consenso generale su di esso.
In pratica si tratta dei seguenti 2 pareri sulle chiamate al database: 1. Effettuare una chiamata di grandi dimensioni per ottenere tutto ciò che potrebbe essere necessario per ridurre il numero di chiamate DB del database 2. Effettua chiamate separate più piccole in base a quanto richiesto per ridurre la dimensione delle chiamate DB
Dove questo sta entrando in gioco specialmente è nel codice comune. Useremo l'esempio di una classe Employee perché è abbastanza semplice.
Diciamo che la tua classe Employee ha 10 attributi di valore (nome, cognome, hiredate, ecc.) e poi 2 attributi di classe ... 1 che punta a una classe Department e quindi 1 supervisor che punta a un altro oggetto Employee .
Nella mentalità n. 1, si effettuerà una chiamata che restituisce i dati Impiegato nonché i campi necessari per popolare gli attributi Reparto e Supervisore ... o almeno i campi utilizzati più spesso da tali oggetti secondari.
Nella mentalità n. 2, si popolerebbe dapprima solo l'oggetto Impiegato e quindi si compila solo gli oggetti Reparto e Supervisore se e quando sono effettivamente richiesti.
La posizione di2 è piuttosto diretta ... minimizzare la dimensione delle richieste e il numero di oggetti del database che devono essere colpiti ogni volta che viene effettuata una di queste richieste. La posizione numero 1 è che, anche se potesse essere implementata correttamente, il semplice fatto che il codice avrebbe dovuto effettuare più connessioni causerebbe più tensione nella connessione tra il server web e il database invece di ridurlo.
La forza trainante dietro la ricerca di questo è che la quantità di traffico tra il nostro server web e server di database sta diventando fuori controllo.