inflearn logo
강의

講義

知識共有

非専門家でも理解できるMySQL性能最適化入門/実践(SQLチューニング編)

[実習] 2024年度 前期 平均成績が100点の学生を検索するSQL文をチューニングする

강의 질문 있습니다

118

작성자 없음

投稿した質問数 0

0

having에 있는 쿼리문을 where문으로 바꿔서 최적화 시키는 것은 이해가 갔습니다.
강의에는 인덱스 사용이 없어서 제가 한번 적용시켜보려고
멀티 컬럼(year, semester) 이렇게 넣고 explain 해보니 ref와 eq_ref가 떴는데도 불구하고 속도는 차이가 별반 다를게 없네요(2초 후반)
인덱스를 어떻게 넣어야할지 알려주시면 감사합니다

sql mysql dbms/rdbms query-tuning

回答 2

0

jscode

안녕하세요! 질문 잘 주셨습니다~!!

전체 데이터 개수검색했을 때 조회되는 데이터 개수

explain으로 출력된 실행 계획 결과값 캡쳐해서 보내주실 수 있을까요~??

위 3가지를 인덱스를 설정하기 전설정한 후를 보내주시기 바랍니다.

같이 결과보고 해석 도와드릴 수 있도록 할게요:D

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

신동아님 질문해 주셔서 감사합니다! 인덱스를 적용하고 최적화하는 건 쉽지 않은 과정일 수 있습니다. 질문하신 내용과 비슷한 상황에 대한 답변을 Inflearn의 다른 게시글에서 확인할 수 있었습니다.

관련 질문 링크:

  1. 실행 계획 type / 정렬 방식

    • 여기에서는 실행 계획에서 나타나는 다양한 유형(ref, eq_ref 등)에 대해 설명하고, 이를 이해함으로써 인덱스를 어떻게 최적화에 활용할 수 있는지에 대한 힌트를 얻을 수 있습니다.
  2. 질문이있습니다.

    • 이 페이지에서는 복합 인덱스를 활용하는 방법과 각 쿼리 조건에 대한 설명이 포함되어 있어, 쿼리에 인덱스를 효과적으로 적용하는 법을 이해하는 데 도움이 될 것입니다.

인덱스 최적화 요령

  • 멀티 컬럼 인덱스 사용: year, semester 순으로 인덱스를 생성하셨다면, 각 열의 데이터 분포와 조회 빈도에 따라 인덱스 순서를 반대로 해 보는 것도 효과적일 수 있습니다.

  • 쿼리 튜닝: 인덱스는 쿼리의 WHERE 절에서 자주 사용되는 열에 대해 설정하는 것이 이상적입니다. 데이터의 카디널리티(유니크한 값의 수)가 높은 열이 우선적으로 인덱스로 설정되면 성능 개선 효과가 더 큽니다.

  • 실행 계획 확인: EXPLAIN 명령어를 통해 쿼리의 실행 계획을 자주 확인해보시고, 인덱스 적용이 실제로 어떤 효과를 주고 있는지 분석해보는 것이 중요합니다. 이 과정을 통해 쿼리가 테이블을 어떻게 스캔하고 있는지, 어떤 인덱스를 활용하고 있는지 알 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.

0

34

2

쿼리 결과 그리드에서 TYPE, POSSIBLE_KEYS 다릅니다

0

80

3

강의 내용을 블로그에 정리해도 괜찮을까요?

1

120

2

여러 테이블 조인시 where 절이 필요한가? 에 대해 질문있습니다.

0

143

2

풀 인덱스 스캔 질문있습니다.

0

119

2

멀티컬럼인덱스 질문있습니다.

0

121

2

쿼리 튜닝 관련 질문 (limit)

0

119

1

페이지기반 페이지네이션 쿼리를 최적화하고 싶습니다.

0

168

2

측정 시간 차이

0

200

2

[실습] 인덱스 직접 설정해보기 / 성능 측정해보기 강의에서요.

0

195

1

커버링 인덱스(Covering Index)강의에서 질문이있습니다.

0

183

2

한 번에 너무 많은 데이터를 조회하는 SQL문 튜닝하기 질문입니다

0

258

3

ORDER BY 튜닝관련 문의

0

200

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

311

1

테이블에 기본키가 없을때

0

381

1

질문있어요!!!

1

214

1