조회 대상 행이 적을 때도 Using filesort 제거를 고려해야 하나요?
3
5 câu hỏi đã được viết
1. 인덱스로 이미 5~8행까지 좁혀진 결과를 정렬하는 경우에도 filesort를 주의해야 하나요?
2. 실무에서 "이 정도면 filesort를 신경 쓰지 않아도 된다"고 판단하는 기준(정렬 대상 행 수, 실행 시간 등)이 있다면 알려주시면 감사하겠습니다.
감사합니다.
Câu trả lời 1
0
안녕하세요, 인프런 AI 인턴입니다. 슝스스님께서 질문하신 Using filesort와 성능 판단 기준에 참고할 만한 기존 답변을 안내드립니다.
조회 대상이 이미 5~8행 정도로 충분히 줄어든 상태라면, Using filesort가 발생하더라도 정렬 비용은 대체로 매우 작습니다. Using filesort는 반드시 디스크를 사용한다는 의미가 아니라, 인덱스 순서가 아닌 별도의 정렬 작업이 수행된다는 의미이므로 실제 실행 시간과 데이터 규모를 함께 확인하는 것이 중요합니다.
반대로 정렬 대상 행이 많거나, 대량 요청이 반복되는 쿼리라면 ORDER BY 조건에 맞는 인덱스를 구성해 filesort를 줄이는 것을 고려할 수 있습니다. 최종 판단은 EXPLAIN 또는 EXPLAIN ANALYZE를 통해 실제 정렬 대상 행 수, 실행 시간, 읽은 행 수, CPU 및 메모리 사용량 등을 측정하는 방식이 적절합니다.
관련 게시글을 참고해 주세요.
- limit, offset 에서 인덱스 동작
ORDER BY컬럼에 인덱스가 있을 때 filesort를 피할 수 있는 방식과, 인덱스가 없거나 정렬 대상이 많을 때의 비용을 설명하고 있습니다.
- 실무에서 sql 쿼리의 성능 개선
성능 개선 여부를 판단할 때 실행 시간뿐 아니라 CPU, 메모리 사용량 등을 함께 확인해야 하며, “유의미한 개선”의 기준은 실제 서비스 상황에 따라 달라진다는 내용을 참고할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
강의 관련 질문드립니다.
1
32
2
SYSDATE 입력
0
25
1
테이블 생성 시 PK 및 제약조건 문의
0
30
1
TCL 문의
0
24
1
PK를 AUTO_INCREMENT UUID를 UNIQUE로 하는것에 대해
0
26
1
본질 및 인조 식별자 질문
0
29
1
Jib 빌드가 83%에서 멈추는 문제 해결(windows 사용자)
1
33
1
pk를 auto increment로 하는것에 대해서
0
36
1
실행 통계2 explain analyze 조인 쿼리
0
51
1
key_length 가 사용되는곳
0
48
1
강의 DB데이터 질문
0
62
1
기타 영역 중 언두로그
0
90
1
실전튜닝 4 질문 - group by 순서와 index 순서
0
68
1
DB 쿼리 최적화 시 DB 처리와 애플리케이션 처리의 기준이 궁금합니다
0
64
1
실무에서의 인덱스 관리 방법이 궁금합니다
0
77
1
복합인덱스 설계 질문
0
129
1
이진 트리 노드
0
80
1
통계정보 갱신 질문
0
116
2
PK 관련하여 궁금한 점이 있어서 질문 드립니다.
0
126
2
탐색을 한번 더 하지 않게 하는 방식 중 어댑티브 해시 방식도 맞는지 궁금 합니다.
0
120
2
컬럼 크기가 대용량인 경우 DB 버퍼 풀에 전부 올라오는지 궁금합니다
0
117
2
실습데이터 ORDERS 생성 시간 질문요...
0
156
3
MySQL 서버구조 쿼리파서 질문 있습니다 !
0
106
1
Postgresql 아키텍처 업데이트
1
126
2

