SQL Server Management Studio와 ASP.NET 애플리케이션 간의 성능 차이
SQL 쿼리를 실행할 때 심각한 성능 불일치가 발생하는 것은 드문 일이 아닙니다. SSMS(SQL Server Management Studio)와 웹 애플리케이션 간. 이러한 성능 문제는 당혹스럽고 실망스러울 수 있습니다. 이 경우 SSMS에서 몇 초 만에 실행되는 쿼리가 ASP.NET 애플리케이션에서 실행되는 데 몇 분이 걸립니다.
매개 변수 스니핑 탐색
이 차이에 대한 잠재적인 설명 중 하나 매개변수 스니핑(parameter sniffing)이라고 알려진 현상입니다. 매개변수 스니핑은 SQL Server 쿼리 최적화 프로그램이 컴파일 중에 제공된 매개변수의 데이터 유형 및 값을 기반으로 동일한 쿼리에 대해 서로 다른 실행 계획을 사용할 때 발생합니다.
제공된 쿼리에서 @customerID 매개변수는 필터링에 사용됩니다. 결과. SSMS에서 쿼리가 실행되면 최적화 프로그램은 @customerID의 특정 값을 기반으로 보다 효율적인 실행 계획을 선택할 수 있습니다. 그러나 ASP.NET 애플리케이션에서 쿼리가 실행되면 최적화 프로그램은 그 순간 @customerID의 데이터 유형이나 값이 다르기 때문에 덜 최적의 계획을 사용하여 쿼리를 컴파일할 수 있습니다.
완화 매개변수 스니핑
매개변수 스니핑을 완화하려면 다음을 고려하세요. 전략:
위 내용은 내 SQL 쿼리가 SSMS보다 ASP.NET에서 훨씬 느린 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!