2012-03-23 9 views
-2

私は問題を抱えています。私はスクリプトに取り組んでいて、突然主なページを読み込んで1.2分かかるので、次の関数を見つけてコメントをつけるスローすべてを作っていた。PHPの速度を遅くする機能

function toFollow(){ 
    $sql = "SELECT id FROM tofollow WHERE enabled = '1'"; 
    if (!$result = mysql_query($sql)) { 
     return 'A error occured: ' . mysql_error(); 
    } 
    while ($row = mysql_fetch_assoc($result)) { 
     $users[] = $row['id']; 
    } 
    return $users; 
} 

UPDATE:私は、問題は、同じスクリプトで私が実行されたものを見つけ

foreach(toFollow() as $user){ 
    $connection->post('friendships/destroy', array('user_id' => $user)); 
    $count++; 
} 

だから、私はちょうどそれを変更:

$tofollow = toFollow();  
foreach($tofollow as $user){ 
    $connection->post('friendships/destroy', array('user_id' => $user)); 
    $count++; 
} 

そして、それは動作します! (私はまだ問題が何であるか理解できません)

ありがとうございました!

提案がありますか?

+0

**この機能自体には何の問題も全くありません**あなたは、テーブルのサイズtofollowと$ユーザーの配列が何であるかに少なくとも情報を提供する必要がありますか? –

+2

問題は、foreachループの各反復でtoFollow()関数を呼び出していたことでした。 – sikander

答えて

0

インデックスがまだ存在しない場合はenabledにインデックスを作成します。ここでのインデックスに関する

詳細情報:How does database indexing work?

+1

インデックスは実際にはデータ検索を大幅にスピードアップするので、ユーザーが最初に投稿した小さな情報を考えれば、悪い提案ではありませんでした。いずれかの方法... – sikander

関連する問題