SQL - ดัชนี

ดัชนีคือ special lookup tablesที่เครื่องมือค้นหาฐานข้อมูลสามารถใช้เพื่อเร่งความเร็วในการดึงข้อมูล พูดง่ายๆคือดัชนีเป็นตัวชี้ไปยังข้อมูลในตาราง ดัชนีในฐานข้อมูลคล้ายกับดัชนีที่อยู่ด้านหลังของหนังสือ

ตัวอย่างเช่นหากคุณต้องการอ้างอิงทุกหน้าในหนังสือที่กล่าวถึงหัวข้อใดหัวข้อหนึ่งคุณต้องอ้างถึงดัชนีก่อนซึ่งจะแสดงรายการหัวข้อทั้งหมดตามลำดับตัวอักษรจากนั้นจะอ้างถึงหมายเลขหน้าหนึ่งหรือมากกว่านั้น

ดัชนีช่วยเร่งความเร็ว SELECT แบบสอบถามและ WHERE อนุประโยค แต่จะทำให้การป้อนข้อมูลช้าลงด้วย UPDATE และ INSERTงบ ดัชนีสามารถสร้างหรือลดลงได้โดยไม่มีผลกระทบต่อข้อมูล

การสร้างดัชนีเกี่ยวข้องกับไฟล์ CREATE INDEX คำสั่งซึ่งช่วยให้คุณสามารถตั้งชื่อดัชนีเพื่อระบุตารางและคอลัมน์หรือคอลัมน์ใดที่จะจัดทำดัชนีและเพื่อระบุว่าดัชนีอยู่ในลำดับจากน้อยไปมากหรือมากไปหาน้อย

ดัชนียังสามารถไม่ซ้ำกันได้เช่น UNIQUE ข้อ จำกัด ในการที่ดัชนีป้องกันรายการที่ซ้ำกันในคอลัมน์หรือการรวมกันของคอลัมน์ที่มีดัชนี

คำสั่ง CREATE INDEX

ไวยากรณ์พื้นฐานของ CREATE INDEX มีดังนี้

CREATE INDEX index_name ON table_name;

ดัชนีคอลัมน์เดียว

ดัชนีคอลัมน์เดียวถูกสร้างขึ้นตามคอลัมน์ในตารางเดียวเท่านั้น ไวยากรณ์พื้นฐานมีดังนี้

CREATE INDEX index_name
ON table_name (column_name);

ดัชนีเฉพาะ

ดัชนีเฉพาะไม่เพียง แต่ใช้เพื่อประสิทธิภาพเท่านั้น แต่ยังใช้เพื่อความสมบูรณ์ของข้อมูลด้วย ดัชนีที่ไม่ซ้ำกันไม่อนุญาตให้แทรกค่าที่ซ้ำกันลงในตาราง ไวยากรณ์พื้นฐานมีดังนี้

CREATE UNIQUE INDEX index_name
on table_name (column_name);

ดัชนีคอมโพสิต

ดัชนีผสมคือดัชนีในคอลัมน์สองคอลัมน์ขึ้นไปของตาราง ไวยากรณ์พื้นฐานมีดังนี้

CREATE INDEX index_name
on table_name (column1, column2);

ไม่ว่าจะสร้างดัชนีคอลัมน์เดียวหรือดัชนีผสมให้พิจารณาคอลัมน์ที่คุณอาจใช้บ่อยมากในส่วนคำสั่ง WHERE ของแบบสอบถามเป็นเงื่อนไขตัวกรอง

หากมีคอลัมน์เดียวที่ใช้ควรเลือกดัชนีคอลัมน์เดียว หากมีคอลัมน์สองคอลัมน์ขึ้นไปที่ใช้บ่อยในคำสั่ง WHERE เป็นตัวกรองดัชนีผสมจะเป็นตัวเลือกที่ดีที่สุด

ดัชนีโดยนัย

ดัชนีโดยนัยคือดัชนีที่เซิร์ฟเวอร์ฐานข้อมูลสร้างขึ้นโดยอัตโนมัติเมื่อสร้างวัตถุ ดัชนีจะถูกสร้างขึ้นโดยอัตโนมัติสำหรับข้อ จำกัด ของคีย์หลักและข้อ จำกัด เฉพาะ

คำสั่ง DROP INDEX

ดัชนีสามารถทิ้งได้โดยใช้ SQL DROPคำสั่ง ควรใช้ความระมัดระวังเมื่อวางดัชนีเนื่องจากประสิทธิภาพอาจช้าลงหรือดีขึ้น

ไวยากรณ์พื้นฐานมีดังนี้ -

DROP INDEX index_name;

คุณสามารถตรวจสอบบทINDEX Constraintเพื่อดูตัวอย่างจริงบางส่วนใน Indexes

เมื่อใดควรหลีกเลี่ยงดัชนี

แม้ว่าดัชนีจะมีจุดมุ่งหมายเพื่อเพิ่มประสิทธิภาพของฐานข้อมูล แต่ก็มีบางครั้งที่ควรหลีกเลี่ยง

แนวทางต่อไปนี้ระบุว่าเมื่อใดควรพิจารณาการใช้ดัชนีใหม่

  • ไม่ควรใช้ดัชนีบนโต๊ะขนาดเล็ก

  • ตารางที่มีการอัปเดตแบตช์จำนวนมากบ่อยครั้งหรือแทรกการดำเนินการ

  • ไม่ควรใช้ดัชนีในคอลัมน์ที่มีค่า NULL จำนวนมาก

  • ไม่ควรจัดทำดัชนีคอลัมน์ที่มีการจัดการบ่อยๆ