이해할 수없는 상황이 있습니다. SQL Server 실행 계획에 따르면 테이블에 통계가 누락되었지만 통계가 이미 생성되어 있습니다.
그러나 테이블을 보면 자동으로 생성 된 통계가 있음을 알 수 있습니다.
누군가 그것이 어떻게 될 수 있는지 이해하도록 도울 수 있습니까?
현재 DB에서 Auto_Update 및 Auto_Create 통계가 설정되어 있습니다.
SQL Server 2014를 사용하고 있습니다.
이해할 수없는 상황이 있습니다. SQL Server 실행 계획에 따르면 테이블에 통계가 누락되었지만 통계가 이미 생성되어 있습니다.
그러나 테이블을 보면 자동으로 생성 된 통계가 있음을 알 수 있습니다.
누군가 그것이 어떻게 될 수 있는지 이해하도록 도울 수 있습니까?
현재 DB에서 Auto_Update 및 Auto_Create 통계가 설정되어 있습니다.
SQL Server 2014를 사용하고 있습니다.
답변:
경고가 누락 된 단일 열 통계에 항상 해당되는 것은 아닙니다 .
옵티마이 저가 찾고자하는 정확한 통계량을 정확하게 결정하는 쉬운 방법은 없지만 모든 경우에 찾아 볼 수는 없지만 거의 항상 다중 열 통계량으로 쿼리의 여러 등식 술어에서 일부 상관 정보를 제공합니다.
아마도 귀하의 경우에는 경고가 표시되는 스캔 후 필터의 술어와 정확히 일치합니다.
SQL Server가 '누락 된 통계'경고에 대한 모든 열을보고하면 좋을 것입니다. 그러나 불행히도 오늘날의 방식은 아닙니다.
경고를 제거하기 위해 작성해야하는 다중 열 통계량을 식별하려면 일정량의 시행 착오가 필요할 수 있습니다. 여러 열 통계는 자동으로 만들 수 없습니다. 경고에도 불구하고 누락 된 통계가 제공 되더라도 추정의 품질이 향상 될 수 있습니다.
통계가 이미 특정 열에 존재한다는 것이 분명해 보이므로 두 가지 가능성을 제공합니다.
DEV
이름 이 있기 때문에 의심 스럽습니다 . 따라서 어떤 경우에는 개발자를 보거나 다른 것은 그렇지 않을 수 있습니다.간단한 답변 (1)이 문제가 아닌지 OPTION (RECOMPILE)
확인 하고 동일한 쿼리를 발행하여 확인하거나 배제하십시오 (2).