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 จำนวนมาก
ไม่ควรจัดทำดัชนีคอลัมน์ที่มีการจัดการบ่อยๆ