ดัชนี MySQL
MySQL MySQL สร้างดัชนีสำหรับการดำเนินงานที่มีประสิทธิภาพเป็นสิ่งสำคัญมากดัชนีสามารถปรับปรุงความเร็วในการดึงของ MySQL
ตัวอย่างเช่นถ้ามีการออกแบบที่เหมาะสมและใช้ดัชนี MySQL เป็น Lamborghini แล้วไม่มีการออกแบบและการใช้ดัชนี MySQL เป็นรถสามล้อ
ดัชนีชี้ดัชนีแยกต่างหากและดัชนีรวมกัน ดัชนีที่แยกต่างหากที่มีเพียงดัชนีคอลัมน์เดียวตารางสามารถมีดัชนีหลายแยก แต่นี้ไม่ได้เป็นดัชนีคอมโพสิต ดัชนีคอมโพสิตคือสายเคเบิลประกอบด้วยส่วนใหญ่ของคอลัมน์
เมื่อคุณสร้างดัชนีคุณต้องให้แน่ใจว่าดัชนีจะถูกนำมาใช้ในเงื่อนไขแบบสอบถาม SQL (โดยทั่วไปตามเงื่อนไขของคำสั่ง WHERE ก)
ในความเป็นจริงดัชนียังเป็นตารางที่เก็บกุญแจและดัชนีสาขาหลักและจุดที่จะบันทึกตารางนิติบุคคลที่
ดังกล่าวข้างต้นมีการพูดคุยเกี่ยวกับประโยชน์ของการใช้ดัชนี แต่การใช้ที่มากเกินไปของดัชนีจะส่งผลให้เกิดการละเมิด ดังนั้นดัชนียังมีข้อเสียที่: ในขณะที่ดัชนีเพิ่มขึ้นอย่างมากความเร็วแบบสอบถามในขณะที่มันจะช่วยลดความเร็วของการปรับปรุงตารางเช่นตาราง INSERT, UPDATE และลบ เนื่องจากตารางการปรับปรุง, MySQL ไม่ได้เป็นเพียงการบันทึกข้อมูล แต่ยังบันทึกเกี่ยวกับไฟล์ดัชนี
การจัดทำดัชนีใช้พื้นที่ดิสก์ในแฟ้มดัชนี
ดัชนีทั่วไป
สร้างดัชนี
นี่คือดัชนีพื้นฐานมันไม่ได้มีข้อ จำกัด ใด ๆ มันได้สร้างวิธีการต่อไปนี้:
CREATE INDEX indexName ON mytable(username(length));
ถ้ามันเป็นถ่านชนิด VARCHAR, ความยาวสามารถจะน้อยกว่าความยาวจริงของสนามถ้าหยดและข้อความประเภทคุณต้องระบุความยาว
การปรับเปลี่ยนโครงสร้างของตาราง
ALTER mytable ADD INDEX [indexName] ON (username(length))
เมื่อคุณสร้างตารางโดยตรงระบุ
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) );
ลบดัชนีไวยากรณ์
DROP INDEX [indexName] ON mytable;
ดัชนีที่ไม่ซ้ำ
มันคล้ายกับดัชนีทั่วไปก่อนหน้านี้ก็มีความแตกต่าง: ค่าของคอลัมน์ดัชนีต้องไม่ซ้ำกัน แต่อนุญาตให้คุ้มค่าฟรี ถ้ามันคือการรวมกันของดัชนีค่าคอลัมน์ต้องไม่ซ้ำกัน มันได้สร้างวิธีการต่อไปนี้:
สร้างดัชนี
CREATE UNIQUE INDEX indexName ON mytable(username(length))
การปรับเปลี่ยนโครงสร้างของตาราง
ALTER mytable ADD UNIQUE [indexName] ON (username(length))
เมื่อคุณสร้างตารางโดยตรงระบุ
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) );
ใช้คำสั่งแก้ไขการเพิ่มและลบดัชนี
มีสี่วิธีที่จะเพิ่มตารางข้อมูลดัชนี ได้แก่ :
- เปลี่ยนแปลงตาราง tbl_name เพิ่มคีย์หลัก (column_list ): คำสั่งนี้จะเพิ่มคีย์หลักซึ่งหมายความว่าค่าดัชนีต้องไม่ซ้ำกันและไม่สามารถเป็นโมฆะ
- เปลี่ยนแปลงตาราง tbl_name ADD index_name ที่ไม่ซ้ำ (column_list ): คำสั่งนี้จะสร้างค่าดัชนีต้องไม่ซ้ำกัน (ยกเว้นโมฆะนอกโมฆะอาจปรากฏหลายครั้ง)
- เปลี่ยนแปลงตาราง tbl_name ADD INDEX index_name (column_list ): เพิ่มดัชนีปกติค่าดัชนีสามารถเกิดขึ้นได้หลายครั้ง
- เปลี่ยนแปลงตาราง tbl_name ADD FULLTEXT index_name (column_list ): คำสั่งนี้ระบุดัชนี FULLTEXT สำหรับจัดทำดัชนีข้อความ
ตัวอย่างต่อไปนี้เพิ่มดัชนีในตาราง
mysql> ALTER TABLE testalter_tbl ADD INDEX (c);
นอกจากนี้คุณยังสามารถใช้ข้อ DROP เพื่อลบดัชนีในคำสั่งแก้ไข ลองตัวอย่างต่อไปนี้เพื่อลบดัชนี:
mysql> ALTER TABLE testalter_tbl DROP INDEX (c);
ใช้คำสั่งแก้ไขการเพิ่มและลบคีย์หลัก
เพียง แต่ทำหน้าที่ในคอลัมน์คีย์หลักเมื่อคุณเพิ่มดัชนีคีย์หลักที่คุณต้องการเพื่อให้แน่ใจว่าคีย์หลักเริ่มต้นคือไม่ว่างเปล่า (ไม่เป็นโมฆะ) ตัวอย่างมีดังนี้
mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);
นอกจากนี้คุณยังสามารถใช้คำสั่ง ALTER ลบคีย์หลัก:
mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;
เพียงแค่ระบุคีย์หลักลบเวลาที่กำหนด แต่เมื่อคุณลบดัชนีคุณต้องรู้ชื่อของดัชนี
ข้อมูลดัชนีการแสดงผล
คุณสามารถใช้คำสั่ง SHOW ดัชนีรายการข้อมูลดัชนีตาราง โดยการเพิ่ม \ G เพื่อรูปแบบการออก
ลองตัวอย่างต่อไปนี้:
mysql> SHOW INDEX FROM table_name\G ........