2010-01-19 2 views

답변

-1

주어진 시간에 오직 하나의 쿼리 만 실행됩니다. PHP가 작동하는 방식이기 때문에 비동기 작업을 수행하지 않습니다. 다른 일을하기 위해 제 3 자 라이브러리를 사용하지 않는 한.

* 편집 : 가능한 것으로 보입니다. 아마도 Asynchronous PHP calls?을 살펴보세요. 그러나 PHP가 비동기 적으로 실행될 때 실행중인 쿼리의 수를 확인할 방법이 없습니다. 어쩌면 당신은 코드를 실행하는 동안 몇 가지 mysql 통계를 시도해 볼 수있다.

+0

이봐 난 실행 쿼리 수를 찾는 방법을 알고 간단한 SQL 쿼리 문 : $ CON-> sql_num_queries $ 콘 여러 활성 페이지에서 아마에만 모든 활성 쿼리를 나열하지만 내 DB 클래스 – Ghazanfari

+0

이고,하지 현재 페이지에서만 아니면 그렇습니까? :) – Kolky

+0

u가 다른 파일의 다른 함수를 포함한 내 페이지를 고려하면 SQL 문에 표시된 쿼리 수는 지금 망가진 쿼리의 양입니다. – Ghazanfari

3

원래 mysql_query 기능을 이름을 변경하고 쿼리를 잘못 무슨 일이 일어나고 있는지 확인하기 위해 자신의가 포함 된 일부 추가 로깅/검사 코드를 작성할 수 있습니다 : 문제가 MySQL의 사이트에

rename_function('mysql_query', 'mysql_query_original'); 
override_function('mysql_query', '$query', 'return mysql_query_override($query);'); 

function mysql_query_override($query){ 
    echo "Query started";   // Add some more sensible information here 
    $result = mysql_query_original($query); 
    echo "Query ended";   // Add some more sensible information here 
    return $result; 
} 
4

경우 이것이 도움이 될 lot :

mysql_query('show processlist'); 

처리를 기다리는 모든 쿼리를 반환해야합니다. 나는 보통 출력을 포맷팅 할 필요가없는 mysql 콘솔에서 직접 사용한다.

+0

http://dev.mysql.com/doc/refman/5.1/en/show-processlist.html 쿼리의 양 (또는 다른 쿼리 정보)이 아닌 프로세스 만 표시합니다. – Veger

+0

모든 프로세스가 표시됩니다. 쿼리는 프로세스의 하위 집합입니다. –

2

대량의 트래픽이있는 사이트를 실행하지 않는 한, 실행/대기열에 포함 된 쿼리의 스냅 샷은 대표성이 없습니다. 또한 쿼리를 생성 한 스크립트와 쿼리를 관련시키는 데 문제가 있습니다.

나는 자신의 코드를 인스트루먼트 권 해드립니다

- 주변 mysql_query()은 당신이 당신의 자신의 기록 구현할 수있는 래퍼를 정의하기 위해 자동 앞에 추가를 사용 : 스크립트가 발사되기 전에

  1. 이 로그 항목을 만듭니다 (대부분의 로그 충돌을 기록하는 코드)
  2. 는 AF 같은 사실을 기록
  3. 전에
  4. 은 메모리 사용량을 기록 쿼리와 쿼리 자체를 트리거 스크립트를 기록하는 경우 매우 편리하지 - 로그 항목 이후에 생성됩니다 시간이 걸릴 때까지

그런 다음 재귀 검색을 수행하고 소스 코드를 바꿔서 mysql_query()의 호출을 래퍼 함수로 바꿉니다.

+1

내가있어, 내 스크립트에서 몇 가지 중단 점을 설정하여 문제를 찾을 수 있지만 문제는 내 최신 이야기를 보여주는 while() 예를 들어, 페이지에서 5 이야기를 표시하려면 num 쿼리는 60 것입니다 한 이야기를 보여주는 것은 13 질문이 문제를 피하는 방법입니까? – Ghazanfari

0

데이터베이스 서버에 연결하고 show full processlist;을 실행하면 모든 활성 쿼리가 표시되고 거기에서 디버깅 할 수 있습니다. 또한 느린 쿼리를 기록하기 위해 프로젝트에 계측 도구를 추가하는 것이 좋습니다.

관련 문제