MySql order by rand() very slow!
Submitted by Sir Squall on Wed, 11/11/2009 - 19:17
Quand on fait joujou avec des SELECT * FROM table ORDER BY rand() LIMIT 10; et quand on a plus de 1'000'000 resultat dans table et bah c'est lent !!
La solution c'est de faire un JOIN sur lui même avec les résultat en random yeah :)!
SELECT * FROM `members_details` JOIN (SELECT FLOOR(MAX(`member_id`)*RAND(123)) AS ID FROM `members_details`) AS x ON `members_details`.`member_id` >= x.ID
C'est fait !!!
http://forums.mysql.com/read.php?24,163940,262235







Recent comments
2 weeks 2 days ago
2 weeks 2 days ago
25 weeks 3 days ago
31 weeks 6 days ago
32 weeks 1 day ago
35 weeks 6 days ago
36 weeks 1 hour ago
36 weeks 1 day ago
40 weeks 6 days ago
42 weeks 4 days ago