5.4.1.6 쿼리 실행 프로브
쿼리 실행 프로브는 쿼리 실행이 실제로 시작되는 때 트리거 트리거시기는 쿼리 캐시의 분석 및 검사 후이지만, 권한 체크 또는 최적화 이전됩니다. start 프로브와 done 프로브의 차이를 비교함으로써 (쿼리 분석 및 기타 요소를 그냥 처리하는 것이 아니라) 쿼리 서비스를 제공하기 위해 실제로 소요 된 시간을 모니터 할 수 있습니다.
query-exec-start (query, connectionid, database, user host, exec_type) query-exec-done (status)
query-start
및 query-exec-start
인수에 제공되는 정보는 거의 같고, 사용자, 클라이언트 및 실행되는 쿼리에 대한 핵심 정보를 공개하면서 ( query-start
를 사용하여) 쿼리 프로세스 전체를 모니터하거나 ( query-exec-start
를 사용하여) 실행 만 모니터 할 것인지를 선택할 수 있도록 설계되어 있습니다.
query-exec-start
: 개별 쿼리의 실행이 시작되었을 때 트리거됩니다. 인수는 다음과 같습니다.query
: 전송 된 쿼리의 전체 텍스트.connectionid
: 쿼리를 보낸 클라이언트의 연결 ID. 이 연결 ID는 클라이언트가 처음 연결했을 때 반환되는 연결 ID와SHOW PROCESSLIST
의 출력Id
값과 동일합니다.database
: 쿼리가 실행되는 데이터베이스의 이름.user
: 서버에 연결하는 데 사용되는 사용자 이름입니다.host
: 클라이언트의 호스트 이름입니다.exec_type
: 실행 유형. 실행 유형은 쿼리의 내용과 대상에 의해 결정됩니다. 각 유형의 값을 다음 표에 나타냅니다.값 설명 0 최상위 쿼리이다 sql_parse에서 실행 된 쿼리. 1 실행 된 준비된 문 2 실행 된 커서 문 3 저장 프로 시저에서 실행 된 쿼리
query-exec-done
: 쿼리 실행이 완료 될 때 트리거됩니다. 이 프로브는 단일 인수status
를 저장하고 쿼리가 성공적으로 실행되면 0을 반환하고 오류가 발생한 경우 1을 반환합니다.