Erro comum: procurando por linhas randômicas
Existem várias maneiras erradas de procurar uma linha “randômica”. Por exemplo:
SELECT .. ORDER BY rand() LIMIT 1;
A função rand() é ótima, e LIMIT é fenomenal, mas a query acima é realmente, realmente ruim. Ela avalia a função rand() para cada linha da tabela e então (se isso não fosse ruim o bastante) ordena todas as linhas pelo resultado da função rand(). Então retorna a primeira linha. Wow. Não faça o MySQL ter tanto trabalho!
Existem melhores formas de encontrar uma linha “randômica”…
O post original pode ser encontrado em:
http://sarahdba.blogspot.com/2009/08/common-mistake-looking-for-random-rows.html
Você pode descobrir como utilizar “melhor” a função rand() do mysql em:
http://jan.kneschke.de/projects/mysql/order-by-rand/
Posts relacionados:
Tags: MySQL, order by rand
Postado em domingo, outubro 11th, 2009 at 22:57 na categoria MySQL. Siga o RSS 2.0 feed. You can leave a response, or trackback from your own site.