performance_schema.events_stages_history_long, performance_schema.events_statements_history_long 테이블에 데이터가 쌓이지 않고 있습니다.
110
投稿した質問数 77
안녕하세요 우선 좋은 강의 남겨주셔서 감사합니다.
인덱스 다이브 최적화 영상을 보고 따라 해보았는데요.
SHOW VARIABLES LIKE 'performance_schema';`performance_schema` 퍼포먼스 스키마 조회를 하게된다면

이렇게 ON 으로 되어 있습니다.
UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES' WHERE NAME LIKE 'statement/%';
UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES' WHERE NAME LIKE 'stage/%';
UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME LIKE 'events_stages%';
UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME LIKE 'events_statements%%';퍼포먼스 스키마에 필요한 지표들을 수집 하도록 하고 테이블에 저장 할 수 있도록 해당 쿼리문을 실행 했습니다.
이에 대한 해당 테이블 조회 값 입니다. (performance_schema.setup_instruments 테이블은 너무 많아 생략하고 performance_schema.setup_consumers 만 보여드립니다.)

그리고 해당 orders 테이블을 조회 하고 나서
SELECT stages.EVENT_ID, statements.EVENT_ID, statements.END_EVENT_ID, statements.SQL_TEXT, stages.EVENT_NAME, stages.TIMER_WAIT / 100
FROM performance_schema.events_stages_history_long AS stages
JOIN performance_schema.events_statements_history_long AS statements
ON (stages.EVENT_ID >= statements.EVENT_ID AND stages.EVENT_ID <= statements.END_EVENT_ID)
WHERE stages.EVENT_NAME LIKE '%statistics%'
AND statements.SQL_TEXT LIKE '%FROM orders%'
AND statements.SQL_TEXT NOT LIKE '%SELECT stages.EVENT_ID,%'
ORDER BY statements.EVENT_ID DESC;
performance_schema 를 통해 성능 비교 했는데요.
아무것도 나오지가 않습니다.
실제로
performance_schema.events_stages_history_long
performance_schema.events_statements_history_long
이 테이블이 아무것도 쌓이지 않는다는 것을 확인하였습니다.
왜 이런 현상이 나타나는걸까요?
참고로 버전은 MySQL (ver. 9.1.0) 이고 docker 를 이용해 서버를 구동했었습니다.
回答 1
0
안녕하세요, 인프런 AI 인턴입니다.
리나님, 질문 주신 내용에 대해 살펴보겠습니다. MySQL의 performance_schema는 데이터베이스의 성능 및 상태 정보를 모니터링하고 진단하는 데 유용한 스키마입니다. 여기서 events_stages_history_long와 events_statements_history_long와 같은 테이블은 쿼리의 이벤트와 단계 정보를 기록하는 역할을 합니다.
하지만 리나님이 언급하신 문제처럼 해당 테이블에 데이터가 쌓이지 않는 경우가 발생할 수 있습니다. 이는 몇 가지 원인에 의해 발생할 수 있습니다:
수집 설정 문제:
setup_instruments및setup_consumers테이블에서 특정했던 설정이 올바르게 적용되지 않았을 수 있습니다. 업데이트 쿼리를 실행한 후에는 MySQL 인스턴스를 재시작하여 변경 사항이 제대로 반영되었는지 확인해 주세요.MySQL 버전 및 설정: 말씀하신 MySQL 버전 9.1.0은 실제로 존재하지 않는 버전입니다. MySQL은 현재 8.x 버전이 최신이며, MariaDB나 다른 포크 버전일 가능성이 있으므로 정확한 버전을 확인해야 합니다. 또한 Docker 컨테이너 내부 설정이 바깥에서 변경되지 못할 수 있으니, 컨테이너 내부 설정을 직접 확인해 보세요.
쿼리 실행 시점: 데이터 수집은 설정 변경 이후에 실행된 쿼리에 대해서만 기록됩니다. 설정을 변경한 후에 조회를 실행해야 관련 데이터가 저장됩니다.
버그 또는 미지원 기능: 사용 중인 데이터베이스 버전이 성능 스키마의 특정 기능을 지원하지 않거나 버그로 인해 동작하지 않을 수 있습니다. 최신 패치와 업데이트를 확인해 주세요.
아래의 링크를 참고하여 performance_schema에 설정된 내용을 다시 한 번 확인하여 보세요:
이 내용이 문제 해결에 도움이 되었으면 합니다. 성능 스키마 설정을 조정해 보고, 데이터베이스 로그를 통해 더 많은 정보를 수집할 수 있습니다. 궁금한 점이 더 있으시면 질문해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
패키지 구분에 대해 궁금한게 있습니다
0
8
1
노션 링크도 안 열리고, 알려준 vercel도 실행이 안됩니다.
0
10
1
Substack 1년 제공
1
22
3
특별 학습 자료 프로모션 1년 멤버십 무료 제공 문의드립니다
0
27
2
스프링부트 서버 에러나요
0
17
1
코드를 첨부해야하는 이유가 있나요?
0
20
2
실무에서 prefix index를 어떤 요구사항이 있을때 사용하는지 궁금합니다!
0
465
1
innodb deadlock detect 비활성화 질문
0
390
1
ssd 에선 innodb_flush_neighbors을 0으로 하면 될까요?
1
227
1
innodb_buffer_pool_instances 기준 질문 드립니다
0
703
1
no offset 최적화를 사용할 수 없을 것 같은 경우에는 어떻게 최적화를 해야할까요?
0
258
2
실습 자료에 명시된 쿼리문들이 짤려있습니다.
0
218
1
my.cnf에 설정이 오타로 인해 잘못 들어가서 구동이 안될때는 어떻게 해야할까요?
0
297
1
내장함수로 감싸진 칼럼의 order by 최적화는 불가능할까요?
0
222
2
bulk_insert.py로 삽입되는 데이터 건수가 100만 건인데 정상일까요?
0
238
1
섹션3 Theory 노션 위치 이동 제보
0
203
1
실무에서 로드 데이터 활용하는 사례 및 기타 질문
0
257
1
강의자료 insert_optimization > load_data.py 내용이 바뀐것 같습니다..!
0
231
1
강의에 사용된 노션 링크 받을 수 있을까요?
0
275
1
AUTO INC Lock 하고 뮤택스 락 차이 관련해서 질문 드립니다.
0
269
1
섹션 4 Theory 영상에서 계속해서 노션의 화면 위치가 이동
0
296
2
커버링 인덱스
0
637
2
해당 강의 제공 코드를 보니 DB 커넥션 정보를 넘길때 포트가 빠졌네요
0
430
1
Task2는 직접해보는 부분인가요?
0
440
1

