HSQLDB - ดัชนี

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

ในขณะที่สร้างดัชนีควรพิจารณาว่าอะไรคือคอลัมน์ที่จะใช้ในการสร้างแบบสอบถาม SQL และสร้างดัชนีอย่างน้อยหนึ่งรายการในคอลัมน์เหล่านั้น

ในทางปฏิบัติดัชนียังเป็นประเภทของตารางซึ่งเก็บคีย์หลักหรือฟิลด์ดัชนีและตัวชี้ไปยังแต่ละระเบียนลงในตารางจริง

ผู้ใช้ไม่สามารถเห็นดัชนี ใช้เพื่อเพิ่มความเร็วในการสืบค้นและจะใช้โดย Database Search Engine เพื่อค้นหาเรกคอร์ดอย่างรวดเร็ว

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

ดัชนีที่เรียบง่ายและไม่เหมือนใคร

คุณสามารถสร้างดัชนีเฉพาะบนตาราง กunique indexหมายความว่าสองแถวไม่สามารถมีค่าดัชนีเดียวกันได้ ต่อไปนี้เป็นไวยากรณ์ในการสร้างดัชนีบนตาราง

CREATE UNIQUE INDEX index_name
ON table_name (column1, column2,...);

คุณสามารถใช้คอลัมน์อย่างน้อยหนึ่งคอลัมน์เพื่อสร้างดัชนี ตัวอย่างเช่นสร้างดัชนีบน tutorials_tbl โดยใช้ tutorial_author

CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author)

คุณสามารถสร้างดัชนีอย่างง่ายบนตาราง เพียงแค่ละเว้นคำหลัก UNIQUE จากแบบสอบถามเพื่อสร้างดัชนีอย่างง่าย กsimple index อนุญาตให้มีค่าที่ซ้ำกันในตาราง

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

CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author DESC)

แก้ไขคำสั่งเพื่อเพิ่มและวาง INDEX

มีคำสั่งสี่ประเภทสำหรับการเพิ่มดัชนีลงในตาราง -

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list) - คำสั่งนี้จะเพิ่ม PRIMARY KEY ซึ่งหมายความว่าค่าที่จัดทำดัชนีจะต้องไม่ซ้ำกันและไม่สามารถเป็น NULL ได้

  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list) - คำสั่งนี้สร้างดัชนีที่ค่าต้องไม่ซ้ำกัน (ยกเว้นค่า NULL ซึ่งอาจปรากฏหลายครั้ง)

  • ALTER TABLE tbl_name ADD INDEX index_name (column_list) - สิ่งนี้จะเพิ่มดัชนีธรรมดาซึ่งค่าใด ๆ อาจปรากฏมากกว่าหนึ่งครั้ง

  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list) - สิ่งนี้สร้างดัชนี FULLTEXT พิเศษที่ใช้สำหรับวัตถุประสงค์ในการค้นหาข้อความ

ต่อไปนี้คือแบบสอบถามเพื่อเพิ่มดัชนีในตารางที่มีอยู่

ALTER TABLE testalter_tbl ADD INDEX (c);

คุณสามารถทิ้ง INDEX ใดก็ได้โดยใช้คำสั่ง DROP พร้อมกับคำสั่ง ALTER ต่อไปนี้เป็นแบบสอบถามเพื่อวางดัชนีที่สร้างไว้ด้านบน

ALTER TABLE testalter_tbl DROP INDEX (c);

การแสดงข้อมูล INDEX

คุณสามารถใช้คำสั่ง SHOW INDEX เพื่อแสดงรายการดัชนีทั้งหมดที่เกี่ยวข้องกับตาราง เอาต์พุตรูปแบบแนวตั้ง (ระบุโดย \ G) มักจะมีประโยชน์กับคำสั่งนี้เพื่อหลีกเลี่ยงการตัดกันแบบเส้นยาว

ต่อไปนี้เป็นไวยากรณ์ทั่วไปเพื่อแสดงข้อมูลดัชนีเกี่ยวกับตาราง

SHOW INDEX FROM table_name\G