Subquery vs. CTE
Hai imparato diversi modi di scrivere le query e come queste scelte influenzano le prestazioni. In questo esercizio tornerai a esaminare i dati demografici dei paesi africani con atleti che partecipano alle Olimpiadi, concentrandoti sulle Olimpiadi estive.
Usando query già scritte, ristrutturerai le query e valuterai l’impatto delle modifiche. Inizierai osservando la differenza nei piani di esecuzione quando usi subquery rispetto alle common table expression (CTE).
Esegui il piano di esecuzione per ogni passaggio.
Questo esercizio fa parte del corso
Migliorare le prestazioni delle query in PostgreSQL
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
-- Subquery
___ ___
SELECT city
, sex
, COUNT(DISTINCT athlete_id) as no_athletes
, AVG(age) as avg_age
FROM athletes_summ
WHERE country_code IN (SELECT olympic_cc FROM demographics WHERE gdp > 10000 and year = 2016)
AND year = 2016
GROUP BY city, sex;