2012-03-23 2 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; 
} 

업데이트 : 나는 문제가, 동일한 스크립트에 내가 실행 된 것을 발견

:

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

관련 문제