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

Hàm ORDER BY RAND () mất nhiều thời gian để thực thi trong mysql

Tôi đi giải pháp.

 SELECT p1.ID, p1.post_content, p1.post_title, p1.post_date, p1.post_name
     FROM posts as p1 JOIN
          (SELECT CEIL(RAND() *
                 (SELECT MAX(ID)
                    FROM posts)) AS id)
          AS p2
  WHERE p1.ID >= p2.id
  ORDER BY p1.ID ASC
  LIMIT 0, 24

Điều này nhanh hơn truy vấn của tôi.

MySQL chọn 10 hàng ngẫu nhiên từ 600K hàng nhanh

Đây là giải pháp.

Cảm ơn



  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ỗi 1628:Nhận xét cho bảng 'khách hàng' quá dài (tối đa =60)

  2. Cách giải quyết MySQL innodb Đang chờ khóa siêu dữ liệu bảng trên TRUNCATE TABLE?

  3. mysql số hàng mỗi giờ

  4. xóa các thực thể trong tầng không hoạt động trong quan hệ ManyToMany

  5. Cấp trên nhiều cơ sở dữ liệu. MySQL