SQL Server 2022-09-Query Store Hint

소개 Query Optimizer가 선택한 실행 계획이나 동작을 다르게 처리하고 싶은데 쿼리 자체를 수정할 수 없는 여건을 위해 기존의 Plan Guide와 같은 방법들이 지원되었으나 실제로 실무에서 사용하기는 용이하지 않았습니다. SQL Server 2022에 새로운 도입된 Query Store Hint는 이러한 요구사항을 지원하는데 도움이 될 수 있습니다. 쿼리 실행 계획 강제 or 변경하기 쿼리 성능을 튜닝할 때 Query Optimizer가…

SQL Server 2022-08-Approximate Query Processing

소개 SQL Server는 관계형 데이터베이스(R-DB) 엔진으로 시작했지만 시대적 상황이나 요구에 맞추어 지속적으로 확장되고 있습니다. 예를 들어 XML, Hierarchical, Filestream, Spatial, Graph 심지어는 R/Python 머신 러닝에 이르기까지 참으로 다양합니다. 그리고 이제 살펴볼 내용은 빅데이터, OLAP, DW 와 같은 대용량 데이터 처리 환경에서 일반적인 집계, 통계, 분석용 함수들에 대한 이야기입니다. Approximate Query Processing 일반적으로 알려진 Azure Synapse,…

SQL Server 2022-07-Optimized Plan Forcing

소개 사견으로 시작합니다, SQL Server 버전이 올라가면서 Query Optimizing에도 많은 변화가 있습니다 달리 말해서 Query Optimizer 루틴이 더 길어지고 절차가 더 복잡해진다는 것입니다 이는 쿼리 최적화 기능의 향상에 도움이 되겠지만 반대로 최적화의 복잡도를 증가시키면서 쿼리 컴파일 부하나 시간이 커지는 부작용도 동반될 것입니다, 오랜 경험을 통한 사견이므로 가볍게 받아주세요^^ SQL Server로 서비스되는 DB 서버가 대형화되고(CPU 수백…

SQL Server 2022-06-Parameter Sensitive Plan Optimization

소개 SQL Server 2022에서 가장 핫한 기능이 바로 이제 살펴볼 Parameter Sensitive Plan(PSP) Optimization 일 겁니다. SQL Server 기반으로 개발을 할 때는 일반적으로 저장 프로시저(또는 매개변수 쿼리도 마찬가지)를 많이 사용하고 그로 인해 경험할 수 있는 대표적인 쿼리 성능 이슈인 Parameter Sniffing 동작이 있습니다. 이 동작이 좋지 않은 프로시저 시나리오를 만나면 성능 문제가 발생하고 심한 경우…

SQL Server 2022-05-Degree of Parallelism Feedback

소개 Feedback 의 마지막 기능입니다. Query Optimizing에서 Degree Of Parallelism(DOP)이 무엇이고 쿼리 성능에 어떤 영향을 미치는지 그리고 SQL Server 2022에서는 어떤 변화가 있는지를 소개하겠습니다.   참고. 아쉽지만 Feedback 기능들은 Enterprise Edition에서 지원됩니다. Degree of Parallelism(DOP) 병렬쿼리 한 쿼리를 실행할 때 CPU를 두 개 이상 사용하는 경우 병렬쿼리입니다. 아래 그림과 같이 실행 계획의 각 연산자 아이콘의…

SQL Server 2022-04-Cardinality Estimation Feedback

소개 지난 글 Memory Grant Feedback에 이어서 두 번째 Feedback 기능입니다. Query Optimizing에서 Cardinality Estimation이 무엇이고 어떤 역할을 하는지 이것이 쿼리 성능에 어떤 영향을 미치게 되는지 그리고 SQL Server 2022에서는 어떤 변화가 있는지를 소개하겠습니다.   참고. CE에 대한 전반적인 소개는 MS 문서 “Cardinality Estimation (SQLServer)“를 참조하세요.   참고. 아쉽지만 이 기능도 현재 Enterprise Edition에서 지원됩니다.…

SQL Server 2022-02-새로운 기능, 머리글

소개 SQL Server 2022의 새로운 기능들을 개별적으로 살펴보기 전에 우선 개괄적으로 그리고 전체적으로 리뷰를 하겠습니다. 새로운 기능들을 범주별로 나누고 주요 기능들을 목록화해서 간단한 설명만 먼저 정리하고 더불어 MS 문서 중 개요에 해당하는 자료들도 소개하겠습니다. 이후 올리게 될 글에 대한 링크도 차후 연결해서 이 글이 일종의 머리글 역할을 하도록 구성할 생각입니다. 자, 그럼 우선 간략하게 살펴볼까요?…