วิเคราะห์ตารางชั่วคราว
นักกีฬาผ่านการคัดเลือกเข้าแข่งขันโอลิมปิกด้วยความพยายามและความทุ่มเท อย่างไรก็ตาม ปัจจัยบางอย่าง เช่น สภาพภูมิอากาศของประเทศบ้านเกิดก็มีผลต่อการฝึกซ้อมเช่นกัน คุณต้องการสำรวจความสัมพันธ์เหล่านี้ให้ลึกขึ้นด้วยการสร้างรายชื่อทุกประเทศที่มีนักกีฬาโอลิมปิก และศึกษาข้อมูลประชากรของแต่ละประเทศ
คุณมีสิทธิ์เข้าถึงตาราง athletes แต่ตารางนี้มีข้อมูลหลายพันแถว ทำให้การคิวรีทำได้ช้า วิธีแก้ปัญหาหนึ่งคือสร้างตารางชั่วคราวที่เก็บเฉพาะรหัสประเทศ จากนั้นจึงวิเคราะห์สถิติที่เกี่ยวข้องกับลักษณะของประเทศผ่านตารางชั่วคราวนี้ ซึ่งช่วยให้ query planner สามารถเพิ่มประสิทธิภาพการรันคิวรีได้ดียิ่งขึ้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL
คำแนะนำการฝึกหัด
- สร้าง
TEMP TABLEชื่อcountries - อนุญาตให้ query planner เก็บรวบรวมสถิติของตารางนี้
- นับจำนวนแถวทั้งหมดในตารางที่สร้างขึ้นใหม่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Create temp countries table
___ ___ ___ ___ ___
SELECT DISTINCT o.region, a.country_code, o.country
FROM athletes a
INNER JOIN oregions o
ON a.country_code = o.olympic_cc;
___ ___; -- Collect the statistics
-- Count the entries
SELECT ___(*) FROM ___;