Che cos'è un modo efficiente, OOP, per contare i record figli di un oggetto?
Nel mio attuale progetto, un distretto può contenere zero o più record Scuola . L'oggetto Districts funge da raccolta di District e può eseguire una singola query per ottenere i dati dietro diversi District in una volta sola, piuttosto che ogni query District (Active Record) per i propri dati. District- > schools () fornisce l'accesso alle scuole dell'infanzia.
Nella pagina in questione, voglio elencare tutti i distretti e un conteggio delle loro scuole secondarie. Questo sta diventando molto lento man mano che il numero dei distretti cresce, poiché ogni distretto deve nuovamente interrogare il tavolo delle scuole. Inoltre, il driver del database che stiamo utilizzando non fornisce un conteggio delle righe per il set di record, quindi quella sarebbe un'altra query. Alcune cose che ho considerato:
- Un oggetto facoltativo disponibile attraverso un localizzatore di servizi che può fornire conteggi.
- Archiviazione del conteggio figlio con il record genitore.
Quindi, il mio attuale metodo di conteggio dei record figlio è piuttosto pesante. Quali sono alcuni modi in cui posso alleggerire questo carico?