Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

lựa chọn nhanh một hàng ngẫu nhiên từ một bảng lớn trong mysql

Lấy tất cả các id, chọn một id ngẫu nhiên từ đó và truy xuất toàn bộ hàng.

Nếu bạn biết các id là tuần tự không có lỗ, bạn có thể lấy giá trị tối đa và tính toán một id ngẫu nhiên.

Nếu có lỗ hổng ở đây và ở đó nhưng chủ yếu là các giá trị tuần tự và bạn không quan tâm đến độ ngẫu nhiên hơi lệch, hãy lấy giá trị tối đa, tính toán một id và chọn hàng đầu tiên có id bằng hoặc cao hơn giá trị bạn đã tính. Lý do cho sự sai lệch là id theo sau các lỗ như vậy sẽ có cơ hội được chọn cao hơn so với các id theo sau id khác.

Nếu bạn đặt hàng ngẫu nhiên, bạn sẽ có một bản quét bảng khủng khiếp trên tay và từ nhanh chóng không áp dụng cho một giải pháp như vậy.

Đừng làm điều đó, bạn cũng không nên đặt hàng theo GUID, nó cũng có vấn đề tương tự.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql cập nhật hai bảng cùng một lúc

  2. Neo4j - Chọn dữ liệu với MATCH bằng Cypher

  3. Làm thế nào tôi có thể tạo trình cài đặt cho trang web. Mysql PHP

  4. Hướng dẫn MySQL Workbench - Hướng dẫn Toàn diện về Công cụ RDBMS

  5. Quyền truy cập Java JDBC bị từ chối đối với người dùng