문제

할 수있는 좋은 방법이 있나요 시간에 SQL 쿼리를 사용할 때 Linq to SQL?정말 좋아한 로깅 기능,그러나 그것은 좋은 것으면 어떻게든 수 있습도 시간을 쿼리가 있습니다.어떤 아이디어가?

도움이 되었습니까?

해결책

SQL 프로파일러를 얻을 쿼리고 시간이며,또한 실행 Path 에서 쿼리를 분석해 보는 병목 현상이다.

다른 팁

으로 두 사람들이 이미 말했듯이,SQL 프로파일러는 out-of-the-box 도구를 사용한다.나는 원하지 않는 에코 하지만 내가 원하는 정교하게 조금 더 자세히:를 제공할 뿐만 아니라 실제적인 타이밍에서 SQL 서버(는 반대로 타이밍 응용 프로그램에서 측면의 네트워크 i/o,연결과 연결하는 수영장이 갖고 있습니다 추가 케이크)그러나 그것은 또한 당신에게[자]I/O 통계 수치는 잠금,정보(필요시)등입니다.

는 이유 I/O 통계가 중요한 것은 매우 비싼 쿼리를 실행할 수 있습하는 동안 빠르게 소모 과도한 양의 서버 자원입니다.예를 들면 쿼리가 실행되는 종종 히 대형 테이블이있는 어울리지 않는 인덱스 테이블의 결과로 검색 영향을 받는 테이블이 캐시 메모리의 SQL 서버(수 있는 경우).이 발생할 수 있습니다 때때로 동일한 쿼리를 실행하는 엄청나게 빠른에 있는 동안 효과 같은 해에의 나머지 시스템/응용 프로그램/db 을 먹고 서버 자원입니다.

잠그는 정보는 거의 중요->작은 쿼리를 하고 있 PK 검색에 대한 단일 기록할 수 있습이 나쁜 타이밍 때문에 잠금 및 차단이 가능합니다.내가 어딘가에 읽는 이 사이트에 시달리고 있었는 교착 상태에서'초기 베타 일입니다.SQL 프로파일러는 당신의 친구를 식별하고 해결하는 데 문제가 발생하여 잠금 너무입니다.

요약하면 그것은;사용 여부 L2S,EF,일반 ADO-만약 당신이 원하는지 확인하는 응용"동작하는 좋은"향하는 데이터베이스는 항상 SQL 프로파일을 준비하는 동안 개발하고 테스트합니다.It pays off!

편집: 글을 썼기 때문에 대답 위에 내가 개발한 새로운 런타임 프로파일링 도구에 대한 L2S 을 가지고 두 세계의 최고를 함께;I/O 통계 서버측 타이밍에서 SQL 서버의 SQL 서버를 실행 계획,SQL 서버의"누락 지수는"경고,결합으로 관리한 호출 스택을 쉽게 찾을 수 있는 코드를 생성되는 일정한 쿼리,그리고 일부 고급 필터 옵션 로만 쿼리를 수행하는 특정 기준입니다.또한,로깅성과 함께 배포할 수 있는 앱을 만들 runtime query 프로파일링에서 살고 고객이 환경에 쉽습니다.는 도구에서 다운로드 할 수 있습니다:

http://www.huagati.com/L2SProfiler/ 어디에 당신이 무료로 받을 수 있 45 일 평가판 라이센스가 있습니다.

더 이상 배경을 설명하고 소개하는 도구는 또한 게시기:
http://huagati.blogspot.com/2009/06/profiling-linq-to-sql-applications.html

...샘플/연습에서 사용하는 몇 가지의 고급 필터 옵션은 여기에서 확인할 수 있습니다:
http://huagati.blogspot.com/2009/08/walkthrough-of-newest-filters-and.html

당신이 사용할 수 있다 System.Diagnostics.Stopwatch 그것은 당신을 허용할 것입니다 시간을 추적하는 쿼리가 실행됩니다.는 것을 기억하십시오 Linq->SQL 쿼리가 실행되지 않습할 때까지 열거합니다.또한 기록하는 경우 Console.Out 가 될 것이 중요한 성능했다.

당신이 무엇을 할 수 있는 사 TextWriter 구현을 매핑되는.로그를 쓸 것이 생성된 sql 파일에는 메모리.다음 루프를 통해 이러한 쿼리를 실행하는,그들과 함께 원 ADO.NET 코드는,각 스톱워치.

나는 유사한 기술을 사용하기 전에 보였기 때문에 때마다 나를 개발하는 코드가 없었어 프로파일을 열고,그리고 그것은 정말 쉽게 출력하고 그 결과를 HTML 페이지입니다.의 실행하는 그들을 두 번당 웹사이트에 요청만을 보면 도움이 실행 시간으로 가능한 빨리할 때까지 기다리지 않고 뭔가를 잡을에서 부드러움을 향상시킨다.

또한 경 SQL 도구로 권하고 싶 인터넷 검색을"가장 느린 쿼리 DMV"그리고 저장 프로시저를 줄 수 있는 통계에서 가장 느린 쿼리에서 당신의 db.항상 쉬운 일이 아닙니다 스크롤를 통해 프로파일을 찾는 결과를 나쁜 쿼리를 처리합니다.또한 권리에 대한 쿼리에서 sql2005 년의 운전 면허를 수행할 수도 주문에 의해 말할 수 있습 cpu 대시간 등등.

우리가 사용하여 SQL 프로파일을 테스트하는 우리의 쿼리로 LLBLGen 프로입니다.

최 로그인하는 것입니다 쿼리를 파일을 사용하여 SQL 프로파일러를 시간들을 조정하는 인덱스에 대한 쿼리를 처리합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top