SQL Server 2014의 쿼리 계획 변경 성능 저하


10

우리는 최근에 서버를 SQL Server 2008R2에서 SQL Server 2014로 업그레이드했습니다. 2008R2에서는 제대로 실행 된 쿼리가 있지만 이제는 2014 년에 훨씬 느리게 실행되고 실행 계획이 잘못되었습니다.

몇 가지 테스트를 수행했습니다 ...

  1. 2014 DB를 2008/2012 호환성 모드로 다시 전환하십시오.
  2. 페이지 매김을 사용하여 쿼리를 테스트하십시오.

이 두 가지 모두 SQL Server 2008R2와 동일하고 빠르게 쿼리를 실행했습니다.

SQL Server 2014에서 계획이 왜 나쁘고 쿼리가 오래 실행됩니까?

예상 / 실제

이 이미지는 2008R2에서 실행 된 방식으로 rownumber를 사용하는 쿼리 2 개를 보여주고 두 번째는 페이지 매김 수정입니다. 둘 다 2014 년에 모두 달랐지만 2008 년에 우리가 2014 년에 페이지 매김을 사용한 것과 동일한 성능을 보았습니다.

답변:


7

이것은 문제가 아니며, 의도적으로 설계된 것이며 성능 향상으로 간주됩니다.

쿼리가 예상대로 실행되지 않으면 데이터베이스 / 응용 프로그램 코드에서이 문제를 해결해야합니다.

서버, 세션 또는 쿼리 레벨에서 추적 플래그 9481을 사용하여 (을 사용하여 OPTION (QUERYTRACEON 9481)) 구식 학살 추정기를 강제 실행할 수 있습니다 . 데이터베이스의 호환성 수준에 관계없이 강제로 적용됩니다.

CSS 팀이 여기에 게시 한 많은 정보도 있습니다 .

Cardanility Estimator 및 SQL Server 2014의 해당 프로세스 관련 변경 사항에 대한 자세한 내용 은 예제를 포함합니다.


뭔가 잘못된 것에 대한 변명처럼 들리는 소리
dvdmn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.