Cafemmo Club
← Quay lại danh sách

[Hỏi] Truy vấn SQL nhanh với random records

command05/11/20175260 lượt xem21 bình luận
Chào ae, Các bác ở đây có thể nhiều lần lấy ngẫu nhiên records từ DB. Ae đang dùng cách nào để truy vấn dữ liệu hơn 300k records mà nhanh vậy? Mình thấy trên mạng có mẫu thế này:
SELECT r1.name FROM random AS r1
   JOIN (SELECT (RAND() *
                (SELECT MAX(id) FROM random)) AS id
        ) AS r2
  WHERE r1.id >= r2.id
  ORDER BY r1.id ASC
  LIMIT 10
Source: http://jan.kneschke.de/projects/mysql/order-by-rand/ Mẫu này truy vấn chắc chắn nhanh hơn SELECT r1.name FROM random ORDER BY RAND() rồi. Tuy nhiên, kết quả truy vấn nó gần nhau quá, và nó ko dùng đối số LIMIT được. Xin cám ơn ae,

Bình luận

Đang tải...

Đang kiểm tra đăng nhập...

[Hỏi] Truy vấn SQL nhanh với random records · Cafemmo Club