쿼리 튜닝 관련 질문 (limit)
119
24 câu hỏi đã được viết
안녕하세요 강사님 좋은 강의 정말 감사드립니다. 실습 따라면서 튜닝을 익혀가고있는데 이번 강의에서 이해되지 않는 부분이 있어 질문 남깁니다.
일단 저는 MariaDB를 이용하여 실습을 하고 있습니다 죄송합니다 ㅠ
-- 튜닝 전 쿼리
SELECT st.student_id, st.name, AVG(sc.score) AS average_score
FROM students st
JOIN scores sc ON st.student_id = sc.student_id
GROUP BY
st.student_id, st.name, sc.year, sc.semester
HAVING
AVG(sc.score)=100
AND sc.year=2024
AND sc.semester=1;
-- 튜닝 쿼리
SELECT st.student_id, st.name, AVG(sc.score) AS average_score
FROM students st
JOIN scores sc ON st.student_id = sc.student_id
WHERE sc.year=2024
AND sc.semester=1
GROUP BY
st.student_id, st.name, sc.year, sc.semester
HAVING
AVG(sc.score)=100;두 쿼리 실행 속도에 별로 차이가 없어서
1) students, scores 두 테이블 각각 데이터 300만개로 늘리고
2) 두 쿼리 모두 동일하게 limit 10을
붙여줬더니 갑자기 성능 차이가 엄청나게 났습니다.
-- 튜닝 전 쿼리
SELECT st.student_id, st.name, AVG(sc.score) AS average_score
FROM students st
JOIN scores sc ON st.student_id = sc.student_id
GROUP BY
st.student_id, st.name, sc.year, sc.semester
HAVING
AVG(sc.score)=100
AND sc.year=2024
AND sc.semester=1
LIMIT 10;
-- 튜닝 쿼리
SELECT st.student_id, st.name, AVG(sc.score) AS average_score
FROM students st
JOIN scores sc ON st.student_id = sc.student_id
WHERE sc.year=2024
AND sc.semester=1
GROUP BY
st.student_id, st.name, sc.year, sc.semester
HAVING
AVG(sc.score)=100
limit 10;
제가 궁금한 것은 limit 10을 붙이면 튜닝을 하든 안하든 실행 속도가 더 줄어들어야 할 것 같은데 튜닝 전 쿼리가 갑자기 1분넘게 소요되더라고요.
튜닝 후 쿼리는 limit을 붙이나 안붙이나 별 차이가 없는데 튜닝 전 쿼리는 왜 limit을 붙이면 갑자기 성능이 엄청나게 저하되는걸까요..??
확인해주시고 답변 주시면 많은 도움 될 것 같습니다 감사합니다!
Câu trả lời 1
0
안녕하세요 chaelynjang님! 강의 잘 봐주셔서 감사합니다:)
질문 내용이 아주 흥미롭고 저도 이유가 궁금하네요!
같이 쿼리문 분석 도와드리기 위해 아래 카톡 링크로
실행 계획 결과(EXPLAIN)와 실행 세부 계획(EXPLAIN ANALYZE) 결과값
캡쳐해서 보내주실 수 있을까요~??
큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.
0
36
2
쿼리 결과 그리드에서 TYPE, POSSIBLE_KEYS 다릅니다
0
80
3
강의 내용을 블로그에 정리해도 괜찮을까요?
1
120
2
여러 테이블 조인시 where 절이 필요한가? 에 대해 질문있습니다.
0
143
2
풀 인덱스 스캔 질문있습니다.
0
119
2
멀티컬럼인덱스 질문있습니다.
0
121
2
페이지기반 페이지네이션 쿼리를 최적화하고 싶습니다.
0
168
2
측정 시간 차이
0
200
2
[실습] 인덱스 직접 설정해보기 / 성능 측정해보기 강의에서요.
0
195
1
커버링 인덱스(Covering Index)강의에서 질문이있습니다.
0
184
2
한 번에 너무 많은 데이터를 조회하는 SQL문 튜닝하기 질문입니다
0
258
3
ORDER BY 튜닝관련 문의
0
200
2
강의 질문 있습니다
0
118
2
인덱스 많은 테이블에서 데이터 많아질 수록 insert 속도 증가
0
442
3
MariaDB 사용 시 EXPLAIN ANALYZE 이용 불가 문의
1
590
2
SQL 튜닝에 대한 사례나 Best Practice 등을 모은 자료를 알려주실 수 있나요?
0
320
2
혹시 심화 수업은 계획이 없으신가요..?
0
295
1
jpa쿼리튜닝 팁이 궁금합니다.!
0
448
1
특정 부서에서 최대 연봉을 가진 사용자 조회 sql 쿼리 질문
4
246
1
created_at 에 index 거는것과 지속적인 데이터 증가
0
424
2
WHERE A OR B 에서 인덱스 걸기
0
377
2
질문이있습니다.
1
312
1
테이블에 기본키가 없을때
0
381
1
질문있어요!!!
1
214
1

