กรณีวิเคราะห์ฐานข้อมูล 3c8645747da02a82a7e585665f9947e7cf717e99c41fa50b3201ac84aa4e8b72: เมื่อปรับปรุงฐานข้อมูล ควรคำนึงถึงความถูกต้อง ความปลอดภัย และความสอดคล้องของ ในการวิเคราะห์คิวรี (Query Analysis) สำหรับคำสั่ง SELECT ที่เชื่อมตารางสามตารางและมีเงื่อนไข WHERE ซับซ้อน ตัวเลือกใดต่อไปนี้ที่สามารถปรับปรุงประสิทธิภาพได้?
กสร้างดัชนี (Index) บนคอลัมน์ที่ใช้ในเงื่อนไข WHERE และในการเชื่อมตารางเท่านั้น
ขสร้างดัชนีบนคอลัมน์ทั้งหมดเพื่อให้เร็วที่สุด
คลบคอลัมน์ที่ไม่ใช้ในเงื่อนไข WHERE เพื่อให้ตารางเล็กลง
งไม่จำเป็นต้องสร้างดัชนีเพราะ DBMS จะหาวิธีการค้นหาที่เหมาะสมเอง
เฉลยอธิบาย
ดัชนี (Index) ช่วยเพิ่มความเร็วในการค้นหาข้อมูล โดยเฉพาะอย่างยิ่งบนคอลัมน์ที่ใช้ในเงื่อนไข WHERE และในการเชื่อมตารางผ่าน Foreign Key แต่ การสร้างดัชนีมากเกินไปอาจทำให้การบัพเดทข้อมูลช้าลง ตัวเลือก B ผิดเพราะสร้างดัชนีหลายอันโดยไม่จำเป็น ตัวเลือก C ผิดเพราะบางครั้ง Query Planner อาจไม่เลือกแนวทางที่ดีที่สุด ตัวเลือก D ผิดเพราะลบคอลัมน์อาจส่งผลกระทบต่อตรรกะของการค้นหา