Cet article présente principalement la solution au CPU 100% causé par PHP enregistrant aléatoirement mysql rand(). Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
mysql La base de données contient des dizaines de milliers de données et rand() est utilisé pour extraire 10 enregistrements aléatoires, ce qui fait que l'utilisation du processeur du serveur reste élevée jusqu'à ce qu'il plante ~Baidu a consulté certaines informations, combinées à certaines des sa propre expérience, et a adopté la solution suivante Méthode :$idlist=''; for($i=1;$i<=20;$i++){ if($i==1){ $idlist=mt_rand(3,25216); } else{ $idlist=$idlist.','.mt_rand(3,25216); } } $query="select * from table where id in ($idlist) LIMIT 0,10";
Comparaison de vitesse :
Il faut plus de 400 millisecondes pour utiliser rand() pour obtenir 10 enregistrements aléatoires, mais il ne faut qu'environ 0,6 milliseconde pour utiliser la méthode ci-dessus. ! !
Comment résoudre le problème de ThinkPHP implémentant plusieurs connexions à des bases de données
ThinkPHP implémentant le site officiel de l'imitation ajax fonction de recherche
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!