슬로우쿼리(Slow Query)란 DBMS 가 요청자로부터 요청받은 쿼리를 수행할때 일정 시간 이상 수행되지 못한 쿼리이다.[1]
개요
슬로우 쿼리가 많으면 성능저하가 발생하며 mysql 프로세스가 cpu 점유를 많이 하거나 db접속이 원활하지 않으면 분석이 가능하다.
특징
슬로우 쿼리를 이용하여 원인 분석에 도움이 될 수도 있다. log 를 쌓이게 하기 위해 mysql 실행시에 다음 옵션을 함께 추가하거나, my.cnf 파일을 직접 수정하여 mysql 를 실행할 수도 있다. [2]
슬로우쿼리 설정
vi /etc/my.cnf
log-slow-queries = /var/log/mysql/mysql-slow.log => 슬로우 쿼리 위치
slow_query_log = 1 => 1은 슬로우 쿼리를 사용하겠다는 뜻
long_query_time = 10 => 10초 이상 걸리는 쿼리를 슬로우쿼리 로그에 찍히게 한다.
my.cnf 파일 확인
my.cnf로 수정할 경우 mysql 서비스 재시작을 해야한다. [1]
항목
|
my.cnf 추가내용
|
* 해당 값 이상의 로그 기록
|
* long_query_time = 3
|
* 슬로우쿼리 활성 여부 (0 = 비활성 / 1 = 활성)
|
* slow_query_log = 1
|
* 슬로우쿼리 로그파일 경로
|
* slow_query_log_file = /var/log/mysql/slow_queries.log
|
* index를 사용하지 않는 쿼리 기록 여부
|
* log_queries_not_using_indexes = on
|
my.sql 파일 확인
mysql 내에서 서비스 재시작을 하지않고 적용이 가능하다.[1]
항목
|
my.cnf 추가내용
|
* 해당 값 이상의 로그 기록
|
* mysql> set global long_query_time = 3;
|
* 슬로우쿼리 활성 여부 (0 = 비활성 / 1 = 활성)
|
* mysql> set global slow_query_log = 1;
|
* 슬로우쿼리 로그파일 경로
|
* mysql> set global slow_query_log_file="/var/log/mysql/slow_queries.log
|
* index를 사용하지 않는 쿼리 기록 여부
|
* mysql> set global log_queries_not_using_indexes = on;
|
슬로우 쿼리 용어
[1]
Time = 쿼리 요청 시각
Query_time : 쿼리 수행 시간
Lock_time : 락이 걸린 시간
Rows_sent = 쿼리 결과 row수
Rows_examined = 쿼리대상 row수
각주
참고자료
- 슬로우쿼리〈슬로우쿼리〉,《폐관코딩》, 2019-11-28
- 슬로우쿼리 특징〈슬로우쿼리 특징〉,《이건없지》, 2009-08-12
같이 보기
이 슬로우쿼리 문서는 데이터에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.
|
개발 : 프로그래밍, 소프트웨어, 데이터 □■⊕, 솔루션, 보안, 하드웨어, 컴퓨터, 사무자동화, 인터넷, 모바일, 사물인터넷, 게임, 메타버스, 디자인
|
|
데이터
|
ACID • CRUD • CSV • DAO • DB • DBMS • DB 명령어 • DCL • DDL • DML • DTO • ERD • ETL • JDBC • LOD • MDM • ODBC • RDBMS • RDF • SQL • 가상 데이터베이스 • 관계형 데이터베이스 • 그래프 • 기본키(PK) • 내부조인 • 널 • 노드 • 다이어그램 • 대리키 • 대체키 • 데이터 • 데이터댐 • 데이터마트 • 데이터 모델링 • 데이터뱅크 • 데이터베이스(DB) • 데이터베이스 언어 • 데이터 사이언스 • 데이터 사전 • 데이터 웨어하우스 • 데이터 정의어(DDL) • 데이터 제어어(DCL) • 데이터 조작어(DML) • 데이터 클러스터 • 데이터 토큰 (문자열) • 데이터 통합 • 덱 • 디비서버 • 라이트조인 • 락 • 레코드 • 레프트조인 • 로그 • 로그파일 • 로깅 • 롤백 • 리두로그 • 릴레이션 • 마스터데이터 • 마스터데이터관리(MDM) • 마이그레이션 • 메타데이터 • 배열 • 뷰 • 빅데이터 • 서브쿼리 • 수퍼키 • 순차리스트 • 스키마 • 스택 • 슬로우쿼리 • 엔티티 • 역정규화 • 연결리스트 • 외래키(FK) • 외부조인 • 인덱스 • 인덱싱 • 인젝션 • 자료구조 • 정규화 • 정보 • 조인 • 커밋 • 쿼리 • 큐 • 키 • 타깃 • 테이블 • 튜플 • 트랜잭션 • 트리 • 트리거 • 티비마이그레이터 • 풀조인 • 프로시저 • 필드 • 해시 • 해시맵 • 해시태그 • 해시테이블 • 해시함수 • 해싱 • 후보키
|
|
데이터베이스 관리 시스템 (DBMS)
|
관계형 데이터베이스 관리 시스템(RDBMS) • 노에스큐엘(NoSQL) • 데이터베이스 관리 시스템(DBMS) • 더비 • 디비투(DB2) • 레디스 • 마리아디비(MariaDB) • 마이에스큐엘(MySQL) • 몽고디비 • 빅테이블 • 사이베이스 • 선디비 • 알티베이스 • 액세스 • 에스큐엘(SQL) • 에스큐엘라이트(SQLite) • 에이치베이스 • 엠에스에스큐엘(MS-SQL) • 오라클(Oracle) • 인터베이스 • 인포믹스 • 카산드라 • 카우치디비 • 큐브리드 • 티베로 • 파이어버드 • 포스트그레스큐엘(PostgreSQL) • 하이퍼테이블
|
|
DB 명령어
|
alter • array • create • delete • drop • from • full join • grant • inner join • insert • join • left join • null • order by • outer join • rename • revoke • right join • select • truncate • update • where
|
|
시스템 연계
|
API • CGI • EAI • ESB • JPA • RSS • SOA • SOAP • SSL • SSO • web3.js • XML • 디비투디비(DB-to-DB) • 레스트풀(RESTful) • 상호운용성 • 시스템 인터페이스 • 신디케이션 API • 오픈 API • 웹 API • 웹개방성 • 윈도우 API • 자바 API • 크롤링 • 프라이빗 API
|
|
위키 : 자동차, 교통, 지역, 지도, 산업, 기업, 단체, 업무, 생활, 쇼핑, 블록체인, 암호화폐, 인공지능, 개발, 인물, 행사, 일반
|
|