เมื่อเขียน SQL Query โดยรันคำสั่ง SELECT ทั้งหมดที่ไม่มีคำสั่ง WHERE แต่มีการสร้าง INDEX บนคอลัมน์หนึ่ง ทำไม INDEX จึงอาจไม่ช่วยประสิทธิภาพการค้นหานี้
กฐานข้อมูลมีขนาดเล็กเกินไปสำหรับการใช้ประโยชน์จาก INDEX
ขINDEX จะช่วยลดปริมาณการค้นหา แต่ SELECT ทั้งหมดต้องอ่านทุกแถวอยู่ดี
คINDEX ช่วยประสิทธิภาพได้เฉพาะเมื่อใช้กับคำสั่ง WHERE เท่านั้น
งINDEX ใช้เวลาในการสร้างและบำรุงรักษา ทำให้ SELECT ช้าลงอย่างมาก
เฉลยอธิบาย
INDEX เป็นโครงสร้างข้อมูลที่ช่วยลดเวลาการค้นหาโดยจัดเรียงข้อมูล แต่ใช้ประโยชน์ได้เฉพาะเมื่อมีคำสั่ง WHERE ที่สามารถใช้เพื่อกรองข้อมูล ถ้า SELECT ทั้งหมดโดยไม่มี WHERE จะต้องอ่านทุกแถวในตาราง INDEX จึงไม่ช่วยเพราะต้องนำข้อมูลทั้งหมดออกมาจากตารางอยู่ดี