Génération de valeurs aléatoires entre deux valeurs dans MySQL
Recherche d'une requête SQL pouvant renvoyer une valeur aléatoire dans une plage spécifiée,
n'est pas une approche valable car RAND sert un objectif différent. Bien que la formule (RAND() * (max-min)) min semble prometteuse, elle produit des valeurs flottantes qui nécessitent un arrondi, ce qui complique le processus.Méthode d'arrondi de MySQL : la solution optimale
L'utilisation de ROUND((RAND() * (max-min)) min) est la méthode préférée dans MySQL, ActionScript, JavaScript et Python pour générer des valeurs aléatoires dans une plage. Cette approche est très efficace et pratique, simplifiant la tâche par rapport aux alternatives PHP.
Performances PHP versus MySQL
Pour déterminer si PHP ou MySQL est plus approprié pour générer un grand nombre de valeurs aléatoires, un test de référence a été effectué.
Pour 100 000 itérations :
Par conséquent, MySQL surpasse légèrement PHP (d'environ 2 à 3 %) lorsque seule la valeur aléatoire est nécessaire. Cependant, si des colonnes supplémentaires sont renvoyées, MySQL prend du retard sur PHP de 3 à 4 %.
Conseils d'optimisation
Pour des performances optimales, utilisez MySQL pour générer des valeurs aléatoires si seulement la valeur aléatoire est requise. Si des colonnes supplémentaires sont nécessaires, envisagez d'utiliser PHP pour une meilleure efficacité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!