ใช้ดัชนีเพื่อเลือกแถวบนสุดอย่างมีประสิทธิภาพ ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable (StudentName varchar(100), StudentScore int );Query OK, 0 แถวได้รับผลกระทบ (0.66 วินาที)
ตัวอย่าง
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable ('John',34); Query OK, 1 แถวได้รับผลกระทบ (0.19 วินาที)mysql> แทรกลงในค่า DemoTable ('Carol',55); Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที )mysql> แทรกลงในค่า DemoTable ('Bob',58); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable ('Sam', 38); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable ('Mike',48); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable ('Adam', 41); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรก ลงในค่า DemoTable ('Chris', 47); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable ('Robert', 40); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงใน DemoTable values('David',89);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;
ผลลัพธ์
<ก่อนหน้า>+-------------+--------------+| ชื่อนักเรียน | StudentScore |+-------------+--------------------+| จอห์น | 34 || แครอล | 55 || บ๊อบ | 58 || แซม | 38 || ไมค์ | 48 || อดัม | 41 || คริส | 47 || โรเบิร์ต | 40 || เดวิด | 89 |+-------------+-------------+9 แถวในชุด (0.00 วินาที)ตัวอย่าง
ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกแถวบนสุดอย่างมีประสิทธิภาพ เราใช้ ORDER BY และข้ามไป 5 แถว หลังจากข้ามไป จะมองเห็น 3 รายการ เนื่องจากเราใช้ LIMIT 3 ไปแล้ว −
mysql> แก้ไขตาราง DemoTable ADD INDEX name_score(StudentName,StudentScore);Query OK, 0 แถวได้รับผลกระทบ (0.61 วินาที)Records:0 Duplicates:0 Warnings:0mysql> select StudentName,StudentScore from DemoTable order by StudentScore LIMIT 5,3;