예를 들어
select * from aaa where code = 'a' 일때랑
select * from aaa where code = 'b' 일때랑 쿼리 실행속도가 현저히 차이가 날경우에
속도저하의 원인을 어디에서 찾아야할지 막막하네요.
두경우의 플랜파일을 추가합니다.
Comment 16
-
김동우(탱소연)
2013.05.09 11:30
-
델리스파이스
2013.05.09 11:34
데이터양은 둘다 비슷합니다.
-
catchv
2013.05.09 13:18
인덱스가 있다면 통계 데이터를 한번 보시는 것이 어떨까요?
통계가 업데이트 안되어 있는 경우 데이터량이 비슷하다고 해도 그럴 수도 있습니다.
DBCC SHOW_STATISTICS ([테이블명],[인덱스 명])
-
솔이
2013.05.09 13:30
실제 실행 계회기을 두개다 올려주시면 아마 생각보다 좋은 답변을 들으실 수 있을겁니다.
-
델리스파이스
2013.05.09 13:31
네 일단 통계쪽 살펴봐야 할듯합니다.
감사합니다.
-
향지
2013.05.10 09:42
row랑 excutes는 안보이는것 같은데
이것도 같이 보여주실수 있으신가요
-
이스트럭(강동운)
2013.05.10 10:25
안녕하세요~~검색어는.....디지털시스템연구소시스템빠른쿼리는 464개 행을 예상느린쿼리는 754개 행을 예상느린쿼리에서 소트가 두번 들어갔다는 점..Sort(ORDER BY:([aaa].[syscd] ASC))Sort(ORDER BY:([aaa].[syscd] ASC, [aaa].[systemname] ASC, [a1].[SYS_LEVEL] ASC))일단 시급한 문제는..SummaryBySystem 테이블에 where [yyyymmdd]>='20120510' AND yyyymmdd]<='20130509'하는 부분이 있는데 인덱스가 전혀 없어서 Table Scan이 일어나고..무려 3,087,852 rows 정도 예측되네요.이거 인덱스 부터 잡는게 먼저일듯합니다.--//아래 인덱스 생성 구문은 서비스에 영향을 줄 수 있습니다. 단지 Table Scan이라 인덱스가 전혀 없다고 판단하기 때문에 제안해봅니다.CREATE CLUSTERED INDEX CL_SummaryBySystem_yyyymmdd ON SummaryBySystem(yyyymmdd)GO -
델리스파이스
2013.05.10 14:10
답변감사합니다....
yyyymmdd이 부분 인덱스는 있습니다.
-
minsouk
2013.05.10 12:13
XML 실제 실행계획을 올려 주세요(SQLPLAN 파일로 저장)....TEXT 보기 귀찮아요~
실행시간 차이도 적어주세요~
그럼 제가 명확히 분석해 드릴께요 ^^;
-
쓸만한게없네(윤선식)
2013.05.10 13:54
드릴께요 --> 드릴게요. (퍽!)
-
방랑도사
2013.05.10 14:39
안녕하세요 윤책임님~~ 지난번 많은 도움주셔서 감사드려요~~ ㅎㅎ
-
쓸만한게없네(윤선식)
2013.05.10 16:52
앗 여기에 댓글을. ^^.
순간 깜짝 놀랐습니다.
담에 같이 식사라도 해요. ^^.
-
minsouk
2013.05.10 14:45
감사합니다. 16일날 맞으면서 먹자.... -
델리스파이스
2013.05.10 14:15
답변 감사드림니다.^^
어제 저녁무렵 관련 테이블들 통계데이터를 재 생성시켰더니( UPDATE STATISTICS )
속도가 제대로 나오긴 합니다. 가끔 이런현상이 생기는 이유가 통계데이터문제 인지 정확히 모르겠네요.
어제 속도차이났을당시 플랜이 .xpn으로 된것밖에 없어서요..
-
minsouk
2013.05.10 14:57
.xpn 은 뭔가요? @.@
예상실행계획으로는 구분이 불가능 하구요 실제 xmlplan 이 있으면 쉽게 찾을 수 있어요~
xpn 이 뭔지 좀 알려주세요~
-
델리스파이스
2013.05.10 16:10
토드에서 하니 그런 확장자로 나오더군요...
다시 그런현상 발생시 직접 서버에서 xml로 떠야겠네요...그때 도움 부탁드림니다.~^^
그냥 단순하게;;; 데이타 량이 틀려서 인덱스를 타고 안타고 차이가 아닐까여....