Sto usando MySQL per archiviare i dati dei videogiochi. Dispongo di tabelle per titoli, piattaforme, tag, badge, recensioni, sviluppatori, editori, ecc ...È meglio restituire una query grande o alcune più piccole?
Quando qualcuno sta visualizzando un gioco, è meglio avere una query che restituisce tutti i dati associati a un gioco o è meglio usare più query? Intuitivamente, dal momento che abbiamo recensioni, sembra inutile includerle nella stessa query dato che dovranno essere impaginate. Ma ci sono altre situazioni in cui non sono sicuro se interrompere la query o utilizzare due query ...
Sono un po 'preoccupato per le prestazioni dal momento che ora sto unendo ai giochi le seguenti tabelle: sviluppatori, editori , metatags, badge, titoli, generi, sottogeneri, classificazioni ... per afferrare distintivi di gioco, (da games_badges, molti-a-molti alla tabella dei giochi, e molti alla tabella molti distintivi) Posso fare un altro join, o eseguire una query separata .... e non so quale sia il migliore ....
uno dovrebbe eseguire un'analisi delle prestazioni prima di venire su con 'significativo Più veloce'. –
Sì, hai ragione nel dire che "significativamente più veloce" è una conclusione. Ciò presuppone che entrambi i set di query forniscano la quantità ottimale di dati. Una query potrebbe essere molto più lenta se si ottengono dati non necessari rispetto a molte query di piccole dimensioni che ottengono solo dati esatti. Le prestazioni delle query –
dipendono non solo dalla quantità di dati restituiti. Ancor più: le prestazioni delle query dipendono dal piano di esecuzione della query, che dipende dalle condizioni della query. – zerkms