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

Cách sắp xếp các kết quả của một truy vấn một cách ngẫu nhiên và chọn các hàng ngẫu nhiên. (MySQL)

Nếu bạn không ngại hy sinh sự phức tạp của các hoạt động chèn / cập nhật / xóa để tăng tốc độ trên lựa chọn, bạn luôn có thể thêm số thứ tự và đảm bảo số thứ tự được duy trì khi chèn / cập nhật / xóa, sau đó bất cứ khi nào bạn thực hiện một lựa chọn, chỉ cần chọn trên một hoặc nhiều số ngẫu nhiên trong phạm vi này. Nếu cột "trình tự" được lập chỉ mục, tôi nghĩ bạn sẽ nhận được nhanh như vậy.

Một thay thế là "xáo trộn". Thêm cột trình tự, chèn giá trị ngẫu nhiên vào cột này và bất cứ khi nào bạn chọn bản ghi, hãy sắp xếp theo cột trình tự và cập nhật chuỗi bản ghi đã chọn thành giá trị ngẫu nhiên mới. Bản cập nhật sẽ chỉ ảnh hưởng đến các bản ghi bạn đã truy xuất, do đó không quá tốn kém ... nhưng có thể đáng để chạy một số thử nghiệm đối với tập dữ liệu của bạn.

Đây có thể là một điều khá ác khi phải nói, nhưng dù sao thì tôi cũng sẽ nói như vậy ... có bao giờ cần thiết phải hiển thị dữ liệu 'ngẫu nhiên' không? nếu bạn đang cố gắng hiển thị các bản ghi ngẫu nhiên, bạn có thể đang làm sai điều gì đó.

Hãy nghĩ về Amazon ... họ trưng bày các sản phẩm ngẫu nhiên hay họ trưng bày những sản phẩm phổ biến và 'những thứ mà người khác đã mua khi họ nhìn vào sản phẩm này'. SO có cung cấp cho bạn danh sách các câu hỏi ngẫu nhiên ở bên phải đây hay danh sách các câu hỏi liên quan không? Chỉ là một số thức ăn để suy nghĩ.



  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:Làm thế nào để sắp xếp các từ trong một chuỗi bằng cách sử dụng một hàm được lưu trữ?

  2. soundex có thể được sử dụng trên một phần của cột trong mysql không?

  3. Làm thế nào để viết câu lệnh SQL này?

  4. Cách nhập và xuất cơ sở dữ liệu MySQL

  5. ĐẶT HÀNG tùy chỉnh BẰNG để bỏ qua 'the'