IT

MySQL이 "데이터 전송"상태에있을 때 무슨 의미입니까?

lottoking 2020. 6. 15. 08:07
반응형

MySQL이 "데이터 전송"상태에있을 때 무슨 의미입니까?


Mysql 쿼리가 의미하는 것은 무엇입니까?

SHOW PROCESSLIST;

상태 열에 "데이터 전송"을 반환합니까?

쿼리가 실행되었고 MySQL이 "결과"데이터를 클라이언트에 보내는 것을 의미한다고 생각하지만 시간이 너무 오래 걸리는 이유가 궁금합니다.

감사합니다.


이것은 오해의 소지가 있습니다. "데이터 읽기 및 필터링"이라고합니다.

이것은 MySQL아직 읽히지 않은 디스크 (또는 메모리)에 일부 데이터가 저장되어 있음을 의미합니다 . 테이블 자체, 인덱스, 임시 테이블, 정렬 된 출력 등일 수 있습니다.

하나의 레코드 만 필요한 1M 레코드 테이블 (인덱스 제외)이있는 경우 MySQL아직 아무것도 전송하지 않았음에도 불구하고 테이블을 스캔하는 동안 상태를 "데이터 전송"으로 출력합니다.


이 상태에서 :

스레드가 SELECT 문에 대한 행을 읽고 처리 하고 클라이언트에 데이터를 보내고 있습니다.

이 상태에서 발생하는 작업으로 인해 대량의 디스크 액세스 (읽기) 가 수행되는 경향이 있습니다.

그렇기 때문에 완료하는 데 시간이 더 걸리고 지정된 쿼리 수명 동안 가장 오래 실행되는 상태 입니다.

참고 : https://stackoverflow.com/questions/10347193/what-does-it-mean-when-mysql-is-in-the-state-sending-data

반응형