Freelancers BR

Encontre dicas, tutorias e empregos

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:

  1. Prepared Statment em Stored Procedure no MySQL

Tags: ,

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.

Deixe seu comentário!