Kang's Life

[SQL Angeles] 2017-04-11 LA 한인 SQL Server 스터디 모임

SungWookKang 2017. 5. 31. 06:28
반응형

[SQL Angeles] 2017-04-11 LA 한인 SQL Server 스터디 모임

 

안녕하세요. 강성욱 입니다.

SQL Angeles 커뮤니티는 SQL PASS의 공식 회원이며, LA Chapter 그룹으로 PASS 커뮤니티 중 유일하게 한국어로 진행되는 모임입니다.

 

SQL Angeles PASS 공식 홈페이지 : http://SQLAngeles.com / http://sqlangeles.sqlpass.org/

 

SQL Angeles 커뮤니티는 정기적으로 화요일 8PM ~ 10PM (2시간, LA 시간 기준) , 오프라인 스터디를 진행하며(장소 및 시간은 공식 홈페이지를 통해 공지 합니다.) SQL Server를 함께 공부하고 다양한 IT 트렌드를 공유하는 기술 및 네트워크를 공유하는 모임 입니다. 온라인 스터디는 참여 제한이 없으며 오프라인 스터디에 참여하고 싶은 분들은 카카오톡(ID : SQLMVP), 페이스북(https://www.facebook.com/sqlmvp) 메신저, email(jevida@naver.com) 등으로 연락 주시기 바랍니다오프라인 스터디 장소는 출입이 자유롭지 못한 관계로 반드시 사전에 협의가 되어야 합니다.

 

오늘 발표 내용은 SQL Server Statistics로 사용자가 쿼리를 작성하여 실행할 때 쿼리가 어떻게 처리되는지, 그리고 이때 어떻게 실행계획이 생성되는지, 실행계획 생성시 참고하는 정보인 통계정보(데이터분석의 통계 아님)에 대해서 살펴 보았습니다. 실제로 DB를 운영하다 보면 특정 시점에 성능 문제가 발생하는데 이때 DB를 튜닝하기 위해 확인해야 하는 부분과 해당 부분이 어떤 원리로 어떻게 동작하는지에 대해서 살펴보았습니다.

 

오프라인 스터디는 LA El Segundo에 위치한 Neon America 오피스에서 진행하였습니다.

 


이번에는 온라인 방송을 병행하지 않고 오프라인만 진행 하였습니다. 온라인 스터디를 동시에 진진행할 때 장점은 지리적인 제한 없이 참여할 수 있으나 기존 오프라인 멤버분들이 자유롭게 토론하는 분위기가 형성이 되지 않아 이번에는 오프라인만 진행 하였습니다. 향후 온오프라인 스터디를 어떻게 운영할지는 조금더 고민해서 좋은 방향의 스터디를 운영할 수 있도록 하겠습니다.

 

사용자가 쿼리를 실행하면 어떤 순서로 쿼리가 실행되는지 살펴 보았습니다. 간단히 설명하면 아래 그림처럼 쿼리가 컴파일 과정을 거치는데 문법에 적합한지, 그리고 쿼리를 파싱하고 트리를 생성하고, 옵티마이저는 다양한 정보를 참고해서 최적의 실행계획을 만들고, SQL엔진은 실행된 계획을 이용해서 쿼리를 실행합니다.

 


오늘은 옵티마이저가 실행계획을 생성할 때 참고하는 정보인 statistics 정보에 대해서 알아보고, 통게 정보에 따라 쿼리가 어떻게 느려지는지(잘못된 실행계획을 사용하는지), 실제 생가능한 성능 문제에 대해서 공부하였습니다. 그리고 이러한 문제를 해결하기 위해 DBA가 할 수 있는 다양한 조치들 (옵션 설정, DBA가 해야 할 작업 등)에 대해서 살펴 보았습니다.

 

SQL Server Statistics에 관한 자세한 내용은 아래 포스팅을 참고 하시기 바랍니다. (순서대로 읽으면 이해하는데 많은 도움이 됩니다.)

l  SQL Server 쿼리 처리 아키텍처 _ SQL 문 처리 (1/4)  – SQL 문 최적화 및 Worktables : http://sqlmvp.kr/140188321707

l  통계(Statistics) - http://sqlmvp.kr/140165557766

l  통계정보와 실제 데이터 분포 확인하기  - http://sqlmvp.kr/220541617577

l  SQL Server 2012 DMV를 이용한 통계 정보 확인 - http://sqlmvp.kr/140188197735

l  통계 업데이트 옵션(ROWCOUNT and PAGECOUNT) - 통계 옵션을 이용한 실행계획 변경 하기 - http://sqlmvp.kr/140182799063

l  인덱스 리빌드는 통계를 업데이트 할까? - http://sqlmvp.kr/220301286024

l  SQL Server 비동기 업데이트 활성 / 비활성에 따른 특성 - http://sqlmvp.kr/140185642553

l  SQL Server 2016 자동 통계 업데이트 임계값 변경 - http://sqlmvp.kr/220848173876

l  필터 통계 사용과 파라메터 - http://sqlmvp.kr/140183848398

 

오늘 스터디에서 중요한 몇 가지.

1.     통계는 쿼리 옵티마이저가 실행계획을 생성하는데 참고하는 중요한 지표이다.

2.     통계 업데이트는 언제가 좋은가? (정답은 없음, 케바케(case by case)

3.     SQL 2016에서는 자동 통계 업데이트 임계값 비율이 변경됨.

4.     인덱스키는 밀집도 낮은(선택도가 좋은) 컬럼을 선택 한다.

 

 

앞으로도 다양한 주제로 스터디를 계속해서 진행할 예정이며 꾸준한 관심과 참여 부탁 드립니다. SQL Angeles 홈페이지에 가입하시면 스터디 일정 및 온라인 참여 링크를 이메일로 수신할 수 있습니다. 아래 안내를 참고해서 챕터 가입을 부탁 합니다.

1.     http://sqlpass.org/ 접속 합니다.

2.     우측 상단의 Register 버튼을 클릭해서 회원 가입 합니다. 가입한 이메일로 안내문이 발송 되니 자주 사용하는 이메일로 가입해주세요.

3.     가입 완료 후 로그인을 하여 [PASS Chapters] – [Local Chapters]를 클릭합니다.

 

4.     Angeles 검색하여 SQL Angeles 챕터에 JOIN 버튼을 클릭합니다. (저는 이미 가입되어 있어 LEAVE라고 버튼이 표시 되어 있습니다.)

 

 

2017-04-11 / 강성욱 / http://sqlmvp.kr

 

LA 한인 SQL 스터디 모임, LA IT 모임, DB 스터디, SQL 스터디, SQL Server, DB 스터디, LA SQL Server, SQL Angeles

 

반응형