안녕하세요

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

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 SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 13572
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 8389
» MS-SQL2000 -> MS-SQL2012 업그레이드 후 일부 쿼리 속도 저하 문제 [4] 로지남푠 2013.09.24 6428
7177 SQL Server 2008 디비를 백업해서 2005에 restore할 수 있나요? [3] 정인화_307824 2013.09.24 4346
7176 하루 한번만 랜덤으로 순서가 나오게 하고 싶습니다. [4] 퀸동 2013.09.23 4454
7175 혹시 음가변환 데이터 구할 수 있을까요? [1] 불꽃남자11 2013.09.23 3470
7174 날짜별 카운트 가져오는 쿼리 질문좀 드릴게요. [2] pertime 2013.09.23 15637
7173 엑셀에서 데이터가져오기 [1] safdsfs 2013.09.22 4741
7172 선입선출 쿼리 문의 [5] 제시카 2013.09.22 4525
7171 이런 경우 검색쿼리가 불가능한건가요?... [2] 이제는선택할때 2013.09.17 3387
7170 sql 로그인 에러 메세지 원인... ? [1] izzy 2013.09.16 7878
7169 SSIS txt 파일 동적 생성 문의 [1] 김진우_283983 2013.09.16 4463
7168 고수님들 도와주세요 [1] 왕만두와우동 2013.09.16 3375
7167 로그 파일 줄이려는데 안됩니다. 조언 부탁 드립니다. [1] ssong 2013.09.13 6657
7166 ip주소로 로그인하기 [3] sdfgaa 2013.09.13 4323
7165 SSIS 에서 DB 데이터를 엑셀에 내보내기 할 때 [2] adb 2013.09.13 4367
7164 인증모드바꾸기 [1] sdfgaa 2013.09.13 3795
7163 엑셀에서 데이터 가져오기 sdfgaa 2013.09.13 5477
7162 테이블에 없는것 골라내기.. [1] 윤미 2013.09.13 4402
7161 null값이 자주 들어가는 칼럼을 index를 만들어도 되나요? [2] 청개구리대왕 2013.09.13 4832
7160 프로시져 질문. [2] 형님 2013.09.13 3784
7159 쿼리설치시문제좀해결해주세요 [2] dlawms 2013.09.12 4014





XE Login