サブクエリ vs. CTE
クエリの書き方にはさまざまな方法があり、その選択がパフォーマンスに影響することを学びました。この演習では、再びオリンピックに出場するアフリカ諸国の国別人口統計を見ていきます。対象は夏季オリンピックです。
用意されたクエリを使って、クエリの構造を組み替え、変更の影響を評価します。まずは、サブクエリと共通テーブル式(CTE)を使った場合で、クエリプランにどのような違いが出るかを確認します。
各ステップで実行計画を実行してください。
この演習はコースの一部です
PostgreSQLでクエリ性能を改善する
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
-- 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;