PHP が mysql rand() ソリューションをランダムに記録すると CPU 100% が発生する_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:37:32
オリジナル
738 人が閲覧しました

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

コードをコピーします コードは次のとおりです。 ;$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 のセットを生成します。 、そして、この一連の ID に対応するレコードを取得します。このような最適化の後、ページを開く速度は明らかに速くなり、CPU 使用率も小さくなり、ほぼ 0 になります。笑〜 ちなみに、私は次を使用して sqlserver サイトも最適化しました。このアイデア!
速度の比較:
rand() を使用して 10 個のランダムなレコードを取得するには 400 ミリ秒以上かかりますが、上記の方法を使用するとわずか 0.6 ミリ秒しかかかりません。その差は非常に大きいです。 ! !



http://www.bkjia.com/PHPjc/321896.html

www.bkjia.com

http://www.bkjia.com/PHPjc/321896.html技術記事 Baidu は、いくつかの情報と独自の経験を組み合わせて、次の解決策を採用しました。 $idlist=''; for($i=1;$i=20;$i++){ if($ i= =1){ $idlist=mt_rand(3,...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート