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

วิธีที่มีประสิทธิภาพที่สุดในการเลือกจำนวนแถวสุ่มใน MySQL ที่เฉพาะเจาะจงคืออะไร?


ใช้วิธี RAND() สำหรับการสุ่มและเพื่อจำกัดจำนวนเรคคอร์ด ให้ใช้เมธอด LIMIT() ใน MySQL

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

mysql> สร้างตาราง DemoTable -> ( -> Value int -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.54 วินาที)

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

mysql> แทรกลงในค่า DemoTable (100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable (300) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable ( 600); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable (700); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable (1000); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.15 วินาที)

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

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

ผลลัพธ์

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 100 || 300 || 600 || 700 || 1,000 |+-------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อให้ได้จำนวนเฉพาะของแถวที่มีระเบียนสุ่ม -

mysql> เลือก *จากคำสั่ง DemoTable โดย rand() จำกัด 4;

ผลลัพธ์

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 1000 || 600 || 100 || 700 |+-------+4 แถวในชุด (0.00 วินาที)