ในการวิเคราะห์คิวรี (Query Analysis) สำหรับคำสั่ง SELECT ที่เชื่อมตารางสามตารางและมีเงื่อนไข WHERE ซับซ้อน ตัวเลือกใดต่อไปนี้ที่สามารถปรับปรุงประสิทธิภาพได้?
กสร้างดัชนีบนคอลัมน์ที่ใช้ในเงื่อนไข WHERE และคีย์ที่ใช้เชื่อมตารางตามแผน query
ขสร้างดัชนีเฉพาะคอลัมน์ที่แสดงใน SELECT แม้ไม่ได้ใช้กรองหรือเชื่อมข้อมูล
คสร้างดัชนีทุกคอลัมน์ของทั้งสามตารางโดยไม่ตรวจแผนและภาระการเขียน
งลบเงื่อนไข WHERE ออกแล้วกรองผลลัพธ์ในโปรแกรมหลังดึงทุกแถวจากฐานข้อมูล
เฉลยอธิบาย
ดัชนีควรสัมพันธ์กับคอลัมน์และตัวดำเนินการที่ query ใช้ค้นหาและเชื่อมแถว ดังนั้นคำตอบที่เหมาะที่สุดคือ “สร้างดัชนีบนคอลัมน์ที่ใช้ในเงื่อนไข WHERE และคีย์ที่ใช้เชื่อมตารางตามแผน query” ส่วนตัวลวงที่ใกล้เคียงที่สุดไม่ผ่านเพราะ คอลัมน์ผลลัพธ์อย่างเดียวอาจไม่ช่วยค้นหาและเชื่อมแถวที่ query ต้องอ่าน