inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

다양한 사례로 익히는 SQL 데이터 분석

과거 30일간 페이지별 조회수와 순페이지(세션 고유 페이지) 조회수 SQL로 구하기

아래와 동일한 질문에 대한 추가질문입니다

69

다라라람쥐

작성한 질문수 19

0

selectpage_path, count(*) ashits_cnt,count(distincta.sess_id) asnet_cnt

fromga_sessa

joinga_sess_hitsbona.sess_id = b.sess_id

wherehit_type = 'PAGE'

groupbypage_pathorderby2desc

 

저도 아래 질문글처럼 같은 방식으로 쿼리를 작성했습니다. 이전섹션인 일별 페이지 조회수와 양식이 유사해서 저한테 더 익숙했기 때문입니다

 

그런데 수업에서 사용한 쿼리가 제 쿼리보다 월등히 처리속도가 빠르더라고요(3s vs 4.7s). SQL숙련도가 올라가면 튜닝이라는걸 통해 처리속도를 최적화해야 한다고 들었습니다.

 

나중을 대비해서 익숙한 제 쿼리보다는 처리속도가 빠른 선생님 코드처럼 코드작성 습관을 바꾸는게 좋을까요?

sql postgresql dbms/rdbms 데이터-엔지니어링 data-analysis

답변 2

0

권 철민

안녕하십니까,

제 생각엔 실습 코드의 쿼리가 수행 속도가 더 빠를 이유는 없어 보입니다. 아마도 반복 수행하면서 메모리에 일부 데이터가 올라가면서 서로 다른 수행 속도가 나오는 걸로 생각됩니다(실제로 좀 더 나을 수도 있지만, 이건 쿼리 최적화라기 보다는 그냥 운(?)이 좋아서 그런걸로 생각됩니다).

제가 with 절을 부분별로 사용한 이유는 중요한 집합 레벨로 구분해서 더 잘 설명을 드리기 위함입니다(이게 코드 작성 표준이 아닙니다).

어떤 것이든 스스로 직관적인 이해가 더 편하신 SQL을 선택하셔서 사용하시면 됩니다. 오히려 한 SQL로 표현 가능한데 일부로 with 절을 사용하는 것은 불필요한 선택일 수 있습니다.

 

감사합니다.

 


0

인프런 AI 인턴

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

전해용님, SQL 쿼리의 최적화와 관련하여 질문 주신 내용에 대해 답변 드리겠습니다.

언급하신 대로 SQL 작성 시 효율적인 방식이 보다 중요한 경우가 많습니다. 데이터베이스 쿼리 성능 최적화는 데이터 양이 늘어나면 더욱 중요한 주제가 됩니다. 몇 가지 포인트로 답변드리면:

  1. 쿼리 최적화:

    • 튜닝 및 최적화는 데이터베이스가 데이터를 처리하는 데 드는 시간을 줄이는 중요한 기법입니다. 이를 통해 쿼리 성능을 개선할 수 있습니다.
    • 정확히 동일한 결과를 위해 성능이 개선된 쿼리를 사용할 수 있다면, 그것을 이용하는 것이 좋습니다.
  2. 선생님의 쿼리 스타일:

    • 선생님의 쿼리가 더 빠른 이유는 다양한 방법이 있을 수 있습니다. 예를 들어, 특정 인덱스를 사용하는 쿼리, 불필요한 중간 테이블 생성을 줄이는 방법 등이 있을 수 있습니다.
    • 수업에서 배운 방법에 따라 쿼리를 작성하는 습관을 들이면 이후 복잡한 SQL 최적화 시 커다란 도움이 될 것입니다.
  3. SQL 튜닝의 중요성:

    • 데이터베이스에서 쿼리 성능을 높이기 위해 다양한 최적화 방법이 있으며, 이는 데이터의 크기와 구성에 따라 달라질 수 있습니다.
    • 특히 데이터 양이 많아질수록 튜닝의 중요성이 커지므로, 준비된 쿼리를 적극적으로 활용하는 것이 좋습니다.

이와 관련하여 튜닝에 대한 좀 더 깊은 이해를 원하신다면, 잘못된 쿼리 작성 방식 이해하기 링크에서 관련 설명을 참고하시면 도움이 될 것입니다.

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

"주문별 고객별 연관 상품 추출 SQL로 구하기-02" 수업 질문

0

50

2

쿼리 질문있습니다!!

0

48

2

없는강의요청해도됩니까,,

0

88

2

cnt/max로 구한 결과의 차이

0

100

2

쿼리에 대한 질문이 있습니다.

0

116

2

퍼널 질문드립니다.

0

112

1

ADSP자격증

0

278

2

특정 스키마에서 생성한 편집기의 쿼리를 판다스에 삽입하는 방법

0

161

1

백업파일 테이블 생성 오류

0

232

1

"사용자별 특정 상품 주문시 함께 가장 많이 주문된 다른 상품 추출하기"에서 조건관련..

0

159

1

Plotly을 이용해 treemap시각화시 공유사항

0

277

2

월단위 카테고리별 매출액과 주문건수 및 전체매출액 대비 비율 sql로 구하기 수업 중 질문이 있습니다.

0

247

1

with 절 질문

0

238

1

데이터 분석 SQL Fundamentals 강의 할인 문의

0

212

1

리텐션 구하는 방법 문의

0

215

1

캐글데이터 Postgresql 사용

0

352

2

mau 구할때 group by 사용안해도 count 집계함수가 왜 가능한지 모르겠습니다.

0

261

1

매출분석 1에서 partition by와 group by의 차이

0

355

1

postgres 설치 오류

0

316

1

맥 계정에서 postgres 접속 시 비밀번호 입력 실패현상

1

539

2

pandas 연계시 오류.....

0

1239

3

시각화 그래프가 안보여요

0

298

1

ntile 정규분포에 관하여 ... 향후 일을 하게 될 시

0

355

1

사용자별 월별 세션 접속 횟수의 구간별 분포 집계 SQL - where절

0

391

1