Php selectionner aleatoirement une entrée dans la bdd

Bonjour, je voudrais selectionner une entrée de ma bdd aléatoirement. Le probleme c’est que les ID (clé primaire) de ma bdd ne se suivent pas forcement. Donc je voudrais savoir si il existe un moyen de faire un choix aleatoire que sur les ID existants?
Merci

Je sais qu’une façon de faire est la suivante :


SELECT 
	champ1[, champ2[...]]
FROM 
	table
WHERE 
	champX = valeur
ORDER BY 
	RAND()
LIMIT 1

Mais je sais aussi (du moins je crois savoir) qu’elle n’est pas optimale (même pas super rapide du tout), cela dit, ça te donne une base pour continuer tes recherches.
Edité le 16/10/2007 à 11:58

C’est cool, merci.
C’est pas grave si c’est pas rapide, c’est juste pour afficher une question au hasard dans une anim flash (y a ke 20 questions)