Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

หากฉันตัดทอนตาราง ฉันควรเพิ่มดัชนีด้วยหรือไม่


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

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> FirstName varchar(20), -> LastName varchar(20) -> );Query OK, 0 แถวได้รับผลกระทบ (0.65 วินาที) 

ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างดัชนี -

mysql> สร้างดัชนี Index_firstName_LastName บน DemoTable (FirstName,LastName) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (1.04 วินาที) ระเบียน:0 รายการซ้ำ:0 คำเตือน:0

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable(FirstName,LastName) ('John','Smith');Query OK, 1 แถวได้รับผลกระทบ (0.47 วินาที

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-----------+----------+| รหัส | ชื่อจริง | นามสกุล |+----+-----------+----------+| 1 | จอห์น | Smith |+----+-----------+----------+1 แถวในชุด (0.00 วินาที)

ก่อนตัดตาราง คุณต้องตรวจสอบสถานะตารางก่อน -

mysql> แสดงสร้างตาราง DemoTable;

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+--------------+----------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------------------------------+| ตาราง | CreateTable|+-------------+-------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------------------------------+| DemoTable | สร้างตาราง `DemoTable` (`Id` int (11) ไม่ใช่ NULL AUTO_INCREMENT, `FirstName` varchar (20) COLLATE utf8_unicode_ci DEFAULT NULL, `LastName' varchar (20) COLLATE utf8_unicode_ci DEFAULT NULL (`, หลัก) `Index_firstName_LastName` (`FirstName`,`LastName`)) ENGINE=InnoDB AUTO_INCREMENT=2 ค่าเริ่มต้น CHARSET=utf8 COLLATE=utf8_unicode_ci |+-------------+------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------------------------+ 1 แถวในชุด (0.00 วินาที)

ตอนนี้ตัดตาราง -

mysql> ตัดทอนตาราง DemoTable; Query OK, 0 แถวได้รับผลกระทบ (2.01 วินาที)

ตรวจสอบสถานะตารางอีกครั้ง คุณไม่จำเป็นต้องเพิ่มดัชนี -

mysql> แสดงสร้างตาราง DemoTable;

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+--------------+----------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------+| ตาราง | CreateTable|+-------------+-------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------+| DemoTable | สร้างตาราง `DemoTable` (`Id` int (11) ไม่ใช่ NULL AUTO_INCREMENT, `FirstName` varchar (20) COLLATE utf8_unicode_ci DEFAULT NULL, `LastName' varchar (20) COLLATE utf8_unicode_ci DEFAULT NULL (`, หลัก) `Index_firstName_LastName` (`FirstName`,`LastName`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |+-------------+---------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------------------------------+1 แถวในชุด (0.00 วินาที)