[MSSQL] 통계 구성요소(Statistics)
·
코딩 공부 기록/SQL
1. 통계(Statistics)란?테이블이나 인덱스의 데이터 분포를 나타내는 메타데이터로, 쿼리 최적화 도구(Query Optimizer)가 효율적인 실행 계획을 생성하는 데 사용된다. 효율적인 쿼리 실행을 위해 필수적인 요소이다.  2. 통계의 필요성 통계는 조회 대상 데이터의 예상되는 행 수를 산정하는 기반이 된다. 그래서 통계 정보가 없을 때의 실행계획에서는 1,258,290건을 예상하고 Hash Join으로 수행했다.그와 다르게 통계 정보가 있을 떄의 실행계획은 예상 행 수가 6,090건으로 낮게 계산되면서 Merge Join의 실행 계획으로 수행한다. 이처럼 통계 정보의 유무에 따라 예상 행 수가 달라지고, 실행 계획에 차이가 발생하게 된다.   3. 통계 구성요소통계는 헤더, 밀도 벡터, 히스..
[SQL] 인덱스 조각화
·
코딩 공부 기록/SQL
인덱스 조각화란?데이터의 삽입, 업데이트, 삭제와 같은 작업이 반복되면서 인덱스 페이지들이 물리적으로 비효율적인 상태로 변하는 현상이로 인해 데이터 검색 성능이 저하되고, 쿼리 실행 시간이 길어질 수 있다.조각화는 클러스터형 인덱스와 비클러스터형 인덱스에서 발생할 수 있는데, 1) 내부 조각화 와 2) 외부 조각화가 있다.  인덱스 조각화 발생 원인1. 데이터 삽입 : 새로운 데이터가 기존 페이지에 들어가지 못하고 새로운 페이지로 분산될 때.2. 데이터 삭제 : 삭제된 공간이 재사용되지 않고, 빈 공간으로 남아있는 경우.3. 데이터 업데이트 : 기존 데이터의 크기가 커져, 현재 페이지에 저장되지 못하고 다른 페이지로 이동할 때.4. 인덱스 재구성 부족 : 인덱스 생성 후, 오랜 기간 동안 인덱스를 재구성..
[MSSQL] 로컬 서버 사용하기 (SSMS, SQL Server Developer)
·
코딩 공부 기록/SQL
1. SSMS(SQL Server Management Studio) 설치https://learn.microsoft.com/ko-kr/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16 SSMS(SQL Server Management Studio) 다운로드 - SQL Server Management Studio (SSMS)SQL_A 및 Azure SQL 인스턴스를 관리하고 구성하려면 최신 버전의 SSMS(SQL Server Management Studio)를 다운로드하세요.learn.microsoft.com  2. SQL Server Developer 설치하기https://www.microsoft.com/ko-kr/sql-se..
데이터베이스 성능 분석 개요와 성능 튜닝 기초 개념
·
코딩 공부 기록/SQL
1. 데이터베이스 성능 분석 개요1.1 성능 튜닝의 목적성능 튜닝이란 데이터베이스 시스템이 효율적으로 동작하도록 개선하는 작업이다. 목표는 응답 속도 단축과 자원 사용 최적화에 있다.응답 시간(Response Time) 최적화: 쿼리가 반환되는 시간을 줄인다.처리량(Throughput) 증대: 단위 시간당 처리할 수 있는 트랜잭션을 증가시킨다.자원 사용 최적화: CPU, 메모리, I/O 같은 시스템 자원을 효율적으로 사용하여 과부하를 방지한다.1.2 데이터 처리 과정 이해SQL 문장 실행 절차SQL 파싱: SQL 문장을 구문 분석해 실행 계획을 수립한다.최적화: 다양한 실행 계획 중 비용이 가장 낮은 계획을 선택한다.실행: 선택된 실행 계획에 따라 데이터를 가져온다.결과 반환: 최종 결과가 클라이언트에 ..