Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

pemilihan cepat baris acak dari tabel besar di mysql

Ambil semua id, pilih salah satu secara acak, dan ambil baris lengkapnya.

Jika Anda tahu id itu berurutan tanpa lubang, Anda bisa mengambil maks dan menghitung id acak.

Jika ada lubang di sana-sini tetapi sebagian besar nilai berurutan, dan Anda tidak peduli dengan keacakan yang sedikit miring, ambil nilai maksimal, hitung id, dan pilih baris pertama dengan id sama dengan atau di atas yang Anda hitung. Alasan kemiringannya adalah id yang mengikuti lubang seperti itu akan memiliki peluang lebih tinggi untuk diambil daripada yang mengikuti id lain.

Jika Anda memesan secara acak, Anda akan memiliki pemindaian tabel yang buruk di tangan Anda, dan kata cepat tidak berlaku untuk solusi seperti itu.

Jangan lakukan itu, Anda juga tidak boleh memesan dengan GUID, ini memiliki masalah yang sama.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mendapatkan Sisa Menggunakan MOD() di PostgreSQL, MS SQL Server, dan MySQL

  2. Bisakah kolom tabel dengan Kunci Asing menjadi NULL?

  3. Buat objek PHP secara dinamis berdasarkan string

  4. Menulis parameter opsional dalam prosedur tersimpan di MySQL?

  5. Cara Mengembalikan Bagian Kiri atau Kanan dari sebuah String di MySQL