Y at-il une fonction intégrée, sauf ordre par random() pour sélectionner un enregistrement aléatoire dans la table mysql?enregistrement aléatoire de la table mysql
Répondre
Je ne pense pas ... pourquoi ne pas vouloir utiliser celui qui fonctionne?
BTW, je suis assez sûr que c'est ORDER BY RAND()
. Je l'ai lu peut être un problème de performance sur de nombreuses lignes ... avez-vous beaucoup de lignes?
non, j'ai environ 1000 conseils mais j'ai environ 10000 utilisateurs, il va ralentir le processus et aussi les conseils sont basé sur la catégorie. – shivg
Non, mais vous pouvez le faire en deux questions. Dans pseudo-PHP-MySQL et code:
$max = SELECT COUNT(*) FROM example;
$rand = rand(0, $max-1);
SELECT * FROM example LIMIT $rand, 1;
La bonne façon serait probablement de le faire dans une procédure stockée.
Merci pour votre réponse immédiate. En fait, je ne veux pas exécuter deux requêtes de sélection car je l'utilise pour afficher des conseils pour l'utilisateur au hasard. Y a-t-il une autre idée? – shivg
@rshivaganesh - cette méthode a * beaucoup * de meilleures performances que 'order by rand() ' – nickf
Pas que je sache. J'irais avec ORDER BY RAND() sur une petite table. Peut-être que vous pouvez mettre en cache le résultat de la première requête d'une manière ou d'une autre? –
- 1. Freebase; sélectionnez un enregistrement aléatoire?
- 2. GQL aléatoire Enregistrement
- 3. Enregistrement de l'heure GMT dans la table mySQL
- 4. mysql changement de valeur aléatoire
- 5. Comment sélectionner un enregistrement aléatoire à partir d'une base de données MySQL?
- 6. Connexion aléatoire à MySQL
- 7. Rails Enregistrement actif aléatoire avec pagination
- 8. Existe-t-il un moyen plus rapide d'obtenir un enregistrement aléatoire à partir d'une table MySQL via ActiveRecord? Dans
- 9. Comment supprimer un enregistrement de la table?
- 10. Sélection aléatoire de lignes avec MySQL
- 11. chercher quatrième enregistrement maximale de la zone de table
- 12. SQL Server, sélectionnez l'élément aléatoire de la table où id utilisé dans une autre table
- 13. Génération d'une chaîne aléatoire unique pour identifier un enregistrement
- 14. Comment sélectionner le dernier enregistrement de la table MySQL en utilisant la syntaxe SQL
- 15. Comment extraire un enregistrement aléatoire de la base de données SQLite?
- 16. Sélectionner un enregistrement aléatoire et mettre à jour le même enregistrement dans une requête?
- 17. Réaffectation aléatoire des valeurs d'une table PK
- 18. optimisation aléatoire de requête de ligne dans la table InnoDB
- 19. MySql aléatoire catégorie limitée sélectionnez
- 20. Trouver un enregistrement dans la table mysql qui a la valeur la plus élevée
- 21. Rails, Obtenez un enregistrement aléatoire lors de l'utilisation: groupe
- 22. Insertion de la table MySQL
- 23. Insertion de la table MySQL
- 24. Impossible d'insérer un enregistrement dans la table
- 25. requête MySQL avec aléatoire et desc
- 26. MYSQL Suivant Enregistrement précédent
- 27. Enregistrement des requêtes mysql
- 28. MYSQL Ligne aléatoire/question de commande
- 29. MySQL - Enregistrement d'éléments
- 30. Optimiser la table mysql?
Avez-vous un problème avec vos conseils et votre commande par hasard()? –
Voir des questions similaires: http://stackoverflow.com/questions/1244555/how-can-i-optimize-mysqls-order-by-rand-function http://stackoverflow.com/questions/1823306/alerternative-to- mysql-order-by-rand http://stackoverflow.com/questions/1868102/order-by-rand-alternative http://stackoverflow.com/questions/2882647/mysql-order-by-rand-name-asc http : //stackoverflow.com/questions/2663710/how-does-mysqls-order-by-rand-work – nickf