안녕하세요

이번에 시스템 업그레이드를 계획중에 데이터베이스 호환 테스트를 진행하고 있는데 역시나 문제가 좀 있네요

sql2000을 쓰고있는데 여기서 2012 버전으로는 호환이 불가능해서 sql2000 standard 에서 백업한 파일을 sql2008 express에서 

복원한 뒤 다시 백업해서 sql2012 express에 복원했습니다

그랬더니 sql2000에 비해 속도는 개선이 되더군요 (메모리 추가하고 SAS->SSD로 교체한 영향도 있겠지만..)

세부적으로 테스트를 진행중인데 특정 쿼리에서 조회속도가 현저히 떨어지는 경우가 있네요

쿼리는 아래와 같습니다


SELECT AA.sMemberNo, CMSDateCount  

From (

SELECT sCode, sMemberNo, CMSDateCount

FROM (

SELECT sCode, sMemberNo, sMProductCode, sSerialNo, sEndDate,   

CONVERT(int, CONVERT(datetime, sEndDate) - getdate())   

CMSDateCount  

FROM TBL_CMS_Payment  

WHERE sIsUse = 'Y' AND CONVERT(datetime, sEndDate)   

>= DateAdd(Month, - 3, getdate()) AND CONVERT(datetime,   

sEndDate) < DateAdd(Month, 3, getdate())

) A 

INNER JOIN  <-- ①

(

SELECT MemberNum, ProductNum, SerialNumber

FROM TBG_ClientProduct  

WHERE IsUse = 'Y'

) B ON A.sMemberNo = B.MemberNum AND A.sMProductCode = B.ProductNum AND A.sSerialNo = B.SerialNumber 

) AA

INNER JOIN  

(

SELECT   MA.sCode  

FROM      (

SELECT sCode, MAX(iUno) iUno  

FROM TBL_CMS_Account 

GROUP BY sCode

) MA 

INNER JOIN  

(

SELECT   sCode, iUno  

FROM      TBL_CMS_Account 

WHERE   sClass = '1'

) MB ON MA.iUno = MB.iUno  

GROUP BY MA.sCode

) BB ON AA.sCode = BB.sCode  


결과는 2764행입니다
이 쿼리가 sql2000에서는 1초가 안걸리는데 sql2012에서는 1분30초가량 걸리네요
테이블 중에 TBL_CMS_Account, TBL_CMS_Payment 에 인덱스가 안잡혀 있었는데 인덱스 잡고 다시 테스트 해보니 25초 정도로 확 줄긴하네요
내부쿼리 개별로 조회해보면 다 1초 전후로 조회가 되는데 표시된 조인을 수행하면서 속도가 현저히 떨어지는거 같습니다
예상 실행계획은 첨부화 같습니다
을 outer join으로 해보면 1초도 안걸리네요.. inner join시에만 속도가 떨어집니다..
원인이 뭘까요..
고수님들의 손길을 기다립니다..

추가문의
현재 t-sql 조인(=*, *= 등)을 지원하지 않는걸로 알고 있는데 이부분을 ansi sql로 수정이 불가능한 상황입니다
sql 2008이나 2012버전에서 이를 지원할수 있는 방법이 있을까요..
No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 1241
7182 group by를 안쓰도록 변경할 수 있나요? [6] 디베이 2013.09.25 4219
7181 쿼리 질문드립니다. [4] 나는짱이야 2013.09.24 3713
7180 게시판에서 같은 아이디의 글수를 제한하고 싶습니다. [4] 카루카루 2013.09.24 4025
7179 SSMS에서 Windows 인증으로 로그인 시 지연되는 문제 [1] 이티 2013.09.24 4374
» MS-SQL2000 -> MS-SQL2012 업그레이드 후 일부 쿼리 속도 저하 문제 [4] 로지남푠 2013.09.24 6415
7177 SQL Server 2008 디비를 백업해서 2005에 restore할 수 있나요? [3] 정인화_307824 2013.09.24 4338
7176 하루 한번만 랜덤으로 순서가 나오게 하고 싶습니다. [4] 퀸동 2013.09.23 4433
7175 혹시 음가변환 데이터 구할 수 있을까요? [1] 불꽃남자11 2013.09.23 3460
7174 날짜별 카운트 가져오는 쿼리 질문좀 드릴게요. [2] pertime 2013.09.23 15539
7173 엑셀에서 데이터가져오기 [1] safdsfs 2013.09.22 4730
7172 선입선출 쿼리 문의 [5] 제시카 2013.09.22 4487
7171 이런 경우 검색쿼리가 불가능한건가요?... [2] 이제는선택할때 2013.09.17 3376
7170 sql 로그인 에러 메세지 원인... ? [1] izzy 2013.09.16 7796
7169 SSIS txt 파일 동적 생성 문의 [1] 김진우_283983 2013.09.16 4451
7168 고수님들 도와주세요 [1] 왕만두와우동 2013.09.16 3363
7167 로그 파일 줄이려는데 안됩니다. 조언 부탁 드립니다. [1] ssong 2013.09.13 6573
7166 ip주소로 로그인하기 [3] sdfgaa 2013.09.13 4307
7165 SSIS 에서 DB 데이터를 엑셀에 내보내기 할 때 [2] adb 2013.09.13 4359
7164 인증모드바꾸기 [1] sdfgaa 2013.09.13 3786
7163 엑셀에서 데이터 가져오기 sdfgaa 2013.09.13 5470





XE Login