데이터베이스에 날짜 필드 (VisitDate
)가있는 테이블이 있습니다. 나는 다음과 같은 SQL 쿼리를 실행하면, 내가 일초의 결과가 나타납니다 (Visual Basic의 경우) 내 ASP.Net 코드,GroupBy() 매우 느리게 실행 중
select year(VisitDate), month(visitDate)
from GABrowser
group by year(VisitDate), month(visitDate)
그러나, 추적이 실행 12 초 정도 걸립니다 :
Dim stats = db.GABrowsers.GroupBy(Function(s) New With {s.VisitDate.Value.Year, s.VisitDate.Value.Month})
'(Takes 12 seconds to enter in the For loop)
For Each stat In stats
Next
나는 왜 그렇게 오래 걸릴지 모르겠다. 그것은 내 웹 페이지가 매우 느리게로드되게합니다.
SQL Server가 실제로 무엇을하고 있는지 확인해야합니다. 귀하의 응용 프로그램이 SQL Server로 보내는 명령을보기 위해 SQL 프로파일 러를 실행할 수 있습니까? 그렇다면 실행 시간과 지속 시간을 확인할 수 있습니다. –
VisitDate 용 클러스터 인덱스를 만들고 EF 프로파일 러를 사용하여 SQL 쿼리를 게시하십시오. –
SQL 프로파일 러에 대해 들어 본 적이 없습니다. 이걸 어디에서 만듭니 까? – AskYous