Функция, которая замедляет php-страницу - PullRequest
0 голосов
/ 23 марта 2012

У меня проблема, я работаю над сценарием, и все шло нормально, пока внезапно не потребовалось 1,2 минуты для загрузки главной страницы, после МНОГО комментариев и комментариев я обнаружил, что следующая функция делает все медленно:

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++;
}

И это работает !! (Я до сих пор не понимаю, в чем проблема)

Спасибо всем !!

Есть предложения?

1 Ответ

0 голосов
/ 23 марта 2012

Создайте индекс на enabled, если он еще не существует.

Более подробная информация об индексах здесь: Как работает индексирование базы данных?

...