Vorrei sapere se c'è un guadagno in realtà di prestazioni tra queste due opzioni:SQL Registrazione vs query separata in codice senza Join - Prestazioni
Opzione 1:
- faccio una query SQL con un unisciti per selezionare tutti gli utenti e i loro ranghi.
Opzione 2:
- faccio una query SQL per selezionare tutti gli utenti
- prelevo tutti gli utenti e fare un altro query SQL per ottenere le fila di questo utente.
Nel codice, l'opzione due è più facile da realizzare per me. Questo è solo il modo in cui disegno il mio livello di Persistenza.
Quindi, vorrei sapere qual è l'impatto sulle prestazioni. Dopo quale limite dovrei prendere in considerazione l'opzione 1 anziché l'opzione 2?
Cosa intendi per andata e ritorno? Per curiosità, che ORM stai usando? – Melursus
Round trip significa passare dall'applicazione al server del database e viceversa. Quando si partecipa all'applicazione, si eseguono sottoquery in un ciclo, ovvero si eseguono N query aggiuntive/roundtrip, che presentano una scalabilità molto grave –
Esattamente. Se la tua prima query avrà sempre un numero massimo di file sano (come, ad esempio, Super Model Chess Champions) e il tavolo secondario è veloce e piccolo (come i nomi dei figli), l'iscrizione all'app non ha un grande conseguenza. Se i join sono grandi o in continua crescita (tutti i tuoi clienti e i loro ordini) questo può diventare brutto in produzione dopo che sei passato ad altre cose. –