ホームページ  >  記事  >  php教程  >  PHP が mysql rand() ソリューションをランダムに記録し、CPU 100% を引き起こす

PHP が mysql rand() ソリューションをランダムに記録し、CPU 100% を引き起こす

WBOY
WBOYオリジナル
2016-06-13 12:16:12909ブラウズ

Baidu は、いくつかの情報と独自の経験を組み合わせて、次の解決策を採用しました:

コードをコピー コードは次のとおりです:


$idlist='';
for($i=1;$iif($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";


原理は実際には非常に単純です。ランダムな ID のセットを生成し、このセットに対応するレコードを取得することです。この最適化後は、ページを開く速度が明らかに速くなり、CPU 使用率もほぼ 0 に近いほどになりました。笑 ちなみに、私もこのアイデアを使って sqlserver サイトを最適化しました。
速度の比較:
rand() を使用して 10 個のランダムなレコードを取得するには 400 ミリ秒以上かかりますが、上記の方法を使用するとわずか 0.6 ミリ秒しかかかりません。その差は非常に大きいです。 ! !
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。