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

เหมาะสมหรือไม่ที่จะใช้ “LIMIT 1” ในแบบสอบถาม “SELECT 1 …”


ได้ คุณสามารถใช้ LIMIT 1 กับ SELECT1 ได้

สมมติว่าคุณกำลังใช้ SELECT 1 และตารางของคุณมีระเบียนนับพันล้านรายการ ในกรณีนี้จะพิมพ์ 1 พันล้านครั้ง

ไวยากรณ์ของ SELECT 1 มีดังต่อไปนี้ −

เลือก 1 จาก yourTableName;

สมมติว่าคุณกำลังใช้ LIMIT 1 และตารางของคุณมีระเบียนนับพันล้านรายการ กรณีนี้จะพิมพ์ 1 ครั้งเท่านั้น

ไวยากรณ์ของ SELECT 1 ที่มี LIMIT 1 มีดังต่อไปนี้ −

เลือก 1 จาก yourTableName LIMIT 1;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง Select1AndLimit1Demo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20) -> );Query OK, 0 แถวได้รับผลกระทบ (1.99 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า Select1AndLimit1Demo(Name) ('John');Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า Select1AndLimit1Demo(Name) ('Carol'); Query OK, 1 แถวได้รับผลกระทบ ( 0.14 วินาที) mysql> แทรกลงในค่า Select1AndLimit1Demo (ชื่อ) ('Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า Select1AndLimit1Demo (ชื่อ) ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.18 วินาที) mysql> แทรกลงในค่า Select1AndLimit1Demo (ชื่อ) ('David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า Select1AndLimit1Demo (ชื่อ) ('Mike'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.20 วินาที) mysql> แทรกลงในค่า Select1AndLimit1Demo (ชื่อ) ('Maxwell'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)

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

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

ผลลัพธ์

<ก่อนหน้า>+----+---------+| รหัส | ชื่อ |+----+---------+| 1 | จอห์น || 2 | แครอล || 3 | แซม || 4 | บ๊อบ || 5 | เดวิด || 6 | ไมค์ || 7 | Maxwell |+----+---------+7 แถวในชุด (0.00 วินาที)

นี่คือกรณีของ SELECT 1 แบบสอบถามมีดังต่อไปนี้ -

mysql> เลือก 1 จาก Select1AndLimit1Demo;

ผลลัพธ์

<ก่อนหน้า>+---+| 1 |+---+| 1 || 1 || 1 || 1 || 1 || 1 || 1 |+---+7 แถวในชุด (0.00 วินาที)

ด้านบนเรามีตารางที่มี 7 ระเบียน ดังนั้นผลลัพธ์คือ 7 คูณ 1

ตอนนี้ให้เราดูกรณีของ SELECT 1 ที่มี LIMIT 1 แบบสอบถามมีดังนี้ −

mysql> เลือก 1 จาก Select1AndLimit1Demo limit 1;

ต่อไปนี้เป็นผลลัพธ์ที่แสดงค่า 1 เพียงครั้งเดียว −

<ก่อนหน้า>+---+| 1 |+---+| 1 |+---+1 แถวในชุด (0.00 วินาที)

ด้านบนตารางของเรามี 7 ระเบียน เราได้รับ 1 คูณ 1 เพราะเราใช้ LIMIT 1 แล้ว