Subqueries กับ CTEs
คุณได้เรียนรู้วิธีการเขียนคิวรีในรูปแบบต่าง ๆ และผลกระทบของแต่ละวิธีต่อประสิทธิภาพแล้ว แบบฝึกหัดนี้จะกลับมาดูข้อมูลประชากรของประเทศในแอฟริกาที่มีนักกีฬาเข้าร่วมการแข่งขันโอลิมปิก โดยเน้นที่โอลิมปิกฤดูร้อน
จากคิวรีที่เตรียมไว้ให้ ให้ลองปรับโครงสร้างคิวรีและประเมินผลกระทบของการเปลี่ยนแปลง โดยเริ่มจากการเปรียบเทียบแผนการประมวลผลระหว่างการใช้ subquery กับ common table expressions (CTEs)
รันแผนการประมวลผลในแต่ละขั้นตอน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเพิ่มประสิทธิภาพคิวรีใน 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;