sql >> Database >  >> RDS >> Mysql

ORDER BY RAND() functie duurt lang om uit te voeren in mysql

Ik ga voor de oplossing.

 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

Dit is sneller dan mijn vraag.

MySQL selecteer 10 willekeurige rijen van 600K rijen snel

Hier is de oplossing.

Bedankt



  1. Is een normale MySql-index vereist als we een samengestelde index hebben?

  2. Hoe kopieer ik SQL Azure-database naar mijn lokale ontwikkelserver?

  3. Een tabelnaam als variabele

  4. mysql met door komma's gescheiden waarden