이번 주 쿼리 튜닝 방문 교육 중에, 고객 PC에 설치된 최신 SSMS(v18.5부터)에서 실행계획 속성명에 변화가 있는 것을 보고 SSMS 최신 버전을 다운로드 받아서 확인해 봤습니다.
실제 변화를 볼 수 있었고 관련해서 공식적인 언급도 찾아볼 수 있었습니다. 예상했던대로의 내용이라 반갑다는 생각도 들고 SQL Server 개발팀이 사용자들의 수 많은 피드백에 대해서 정말 열심히 대응하고 있구나라고 느낄 수 있는 부분이었습니다. 이와 같은 변경은 반복 수행되는 연산자(ex, Loop, Lookup 등)에서의 행 수 정보를 별도로 분리해서 제공하는 배경(요구)으로 추측됩니다. 간단히 설명드리면,
- 예상 행 수 => “실행 당 예상 행 수” 로 변경
- 실제 행 수 => “모든 실행에 대한 실제 행 수“로 변경
- “모든 실행에 대한 예상 행 수” 속성 추가
아래 그림은 비교 용이하게 제가 만들어 본 것이구요, 관련된 Microsoft 언급과 링크도 아래 옮겨적습니다.
도움이 되시길.
https://docs.microsoft.com/en-us/sql/ssms/release-notes-ssms?view=sql-server-ver15#180
“Improved how SSMS displays estimated row counts for operators with multiple executions: (1) Modified Estimated Number of Rows in SSMS to “Estimated Number of Rows Per Execution”; (2) Added a new property Estimated Number of Rows for All Executions; (3) Modify the property Actual Number of Rows to Actual Number of Rows for All Executions.”