การเพิ่มดัชนีในคอลัมน์ประเภท int เป็นทางเลือกที่ดีในการเรียกใช้คิวรีของคุณเร็วขึ้นเมื่อใดก็ตามที่ตารางของคุณมีระเบียนจำนวนมาก
หากตารางของคุณมีระเบียนน้อยกว่า ไม่ควรใช้ดัชนีในคอลัมน์ประเภท int
เพื่อให้เข้าใจแนวคิด ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง indexOnIntColumnDemo -> ( -> UserId int, -> UserName varchar(20), -> UserAge int, -> INDEX(UserId) -> );Query OK, 0 แถวได้รับผลกระทบ (0.85 วินาที)
ตอนนี้ตรวจสอบคำอธิบายของตาราง -
mysql> อธิบาย indexOnIntColumnDemo;
นี่คือผลลัพธ์ -
<ก่อนหน้า>+----------+-------------+------+----+-------- --------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+----------+-------------+------+-------------+--------- +-------+| รหัสผู้ใช้ | int(11) | ใช่ | MUL | NULL | || ชื่อผู้ใช้ | varchar(20) | ใช่ | | NULL | || อายุผู้ใช้ | int(11) | ใช่ | | NULL | |+----------+-------------+------+-------------+---------+ --------+3 แถวในชุด (0.04 วินาที)ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า indexOnIntColumnDemo (1001,'John',23); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที) mysql> แทรกลงในค่า indexOnIntColumnDemo (1002, 'Sam', 25); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า indexOnIntColumnDemo (1003, 'Carol', 22); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที) mysql> แทรกลงในค่า indexOnIntColumnDemo (1004, 'ไมค์', 26); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)
ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก indexOnIntColumnDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+---------+----------+---------+| รหัสผู้ใช้ | ชื่อผู้ใช้ | อายุผู้ใช้ |+---------+----------+---------+| 1001 | จอห์น | 23 || 1002 | แซม | 25 || 1003 | แครอล | 22 || 1004 | ไมค์ | 26 |+---------+----------+---------+4 แถวในชุด (0.00 วินาที)เพื่อให้ทำงานเร็วขึ้น ให้ใช้เงื่อนไขในคอลัมน์ดัชนีประเภท int
mysql> เลือก *จาก indexOnIntColumnDemo โดยที่ UserId=1004;
ผลลัพธ์ที่ได้จะเป็นดังนี้
<ก่อนหน้า>+---------+----------+---------+| รหัสผู้ใช้ | ชื่อผู้ใช้ | อายุผู้ใช้ |+---------+----------+---------+| 1004 | ไมค์ | 26 |+---------+----------+---------+1 แถวในชุด (0.00 วินาที)