2010-03-01 8 views
3

SQL Server Management Studio에서 실행하는 데 2 ​​초의 시간이 걸리지 만 클라이언트 화면에 표시되는 데 13 초 걸리는 쿼리가 있습니다. dotTrace를 사용하여 소스 코드를 프로파일 링 한 결과, 작업 (9 초)에 많은 시간이 소요되는이 SNIReadSync 메소드 (ADO.net 어셈블리의 일부)가 있음을 알게되었습니다. 서버를 통해 소스를 실행하여 네트워크 효과와 결과는 동일했습니다.Ado.net 성능 : SNIReadSync의 기능은 무엇입니까?

OleDBConnection 또는 SqlConnection을 사용하고 있어도 상관 없습니다.

DataReader 또는 DataSet을 사용하고 있어도 상관 없습니다.

연결 풀링은 내 결과와 같이이 문제를 해결하지 못합니다.

나는이 문제를 찾아 봤지만이 방법이 실제로하고있는 것과 우리가 그것을 향상시킬 수있는 방법에 대한 답을 찾을 수 없었다.

는 여기에 내가 도움이 아니라 그 StakOverFlow에 발견하는 내용입니다 중 하나 https://stackoverflow.com/questions/1610874/snireadsync-executing-between-120-500-ms-for-a-simple-query-what-do-i-look-for

답변

2

잠시 SNIReadSync을 무시 (I이 붉은 청어있을 것 같아요).

잘못 설명 된 현상은 캐시 된 쿼리 계획과 유사합니다.

통계를 업데이트하거나 색인을 다시 작성하고 여전히 발생하는지 확인하십시오.

+0

내가 이해할 수없는 것은 그것이 Management Studio에서 너무 빠르게 실행되는 이유가 무엇인가하는 경우입니다. – Beatles1692

+0

SSMS는 다시 컴파일을 수행하는 프리앰블을 방출하기 때문에 발생합니다. 내가 제안한대로 다 했니? –

+0

대단히 죄송합니다. 동일한 문제가 발생하여 인덱스를 재구성하여 문제가 해결되었습니다 (99.997 조각화). –

관련 문제