데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

안녕하세요.

속도 문제로 글 올립니다.

 

MS SQL 2008 입니다.

 

테이블 TBL_TEMP 에는 250만 건의 데이터가 있습니다.

 

DT_REG_DATE 칼럼은 DATATIME 형식이며 INDEX 되어 있습니다.

 

----------------------------------------------------------------------

SELECT INT_ID

FROM TBL_TEMP

WHERE 1=1

   AND STR_AA= 1

ORDER BY DT_REG_DATE

 

SQL Server 실행 시간: 
 CPU 시간 = 47밀리초, 경과 시간 = 43밀리초

----------------------------------------------------------------------

SELECT TOP 1INT_ID

FROM TBL_TEMP

ORDER BY DT_REG_DATE

 

 SQL Server 실행 시간: 
 CPU 시간 = 2719밀리초, 경과 시간 = 2731밀리초
----------------------------------------------------------------------

위와 같이 엄청난 시간 차이가 있습니다.

 

가장 오래된 정보 1건만 가져 오고 싶은데..

시간이 너무 오래 걸립니다.

이로 인해 다른 프로시저들도 영향을 받네요.

 

SELECT TOP 1 을 효율적으로 할 수 있는 방법 이 있을까요 ?!

 

 

 

위와 같이 처리 하는 이유는 다음과 같습니다.

 

 

--1. 가장 오래된 데이터 가져옴.

    SELECT TOP 1 @INT_ID = INT_ID
    FROM TMP_TEMP
    WHERE 1=1
        AND STR_IS_SAVE = 'N'
        AND STR_IS_TAKE = 'R'
    ORDER BY DT_UPDATE

 

--2. 정보 가져옴.

    SELECT @INT_ID = INT_ID
    FROM TMP_TEMPTEMPTEMP
    WHERE 1=1
        AND INT_ID = @INT_ID
 

--3. 업데이트 처리 함. (다른 프로시저.)

No. Subject Author Date Views
10771 안녕하세요. Linked Server 관련 질문입니다. [1] 문국대 2021.12.29 63
10770 MSSQL 프로시져 파라미터 조건 처리 방법 [1] 다초 2021.12.28 157
10769 문의:update시 다른 필드의 변경을 체크해서 값변경시 문제가 없는지 Lovely00 2021.12.25 68
10768 왼쪽 조건에 replace를 걸어야 하는데 관련 질문입니다. [2] 카루카루 2021.12.22 86
10767 A쿠폰을 사용했던 사람이 구매한 다른 상품을 알고 싶을 때 [2] mol**** 2021.12.07 99
10766 초보 질문 세로로 출력되는 데이터를 가로로 붙이는 법 file 이하 2021.12.03 651
10765 order by 절 문의 [1] leesoek 2021.12.03 94
10764 MSSQL 과부하? 문의드립니다 [1] 한챔 2021.11.30 153
10763 안녕하세요 책으로 공부하고 있는 학생입니다. [1] file 리호 2021.11.25 122
10762 SQL SERVER OLD VERSION 구하는 방법 문의 [1] hongjinJeon 2021.11.23 94
10761 MSSQL, AlwaysOn 의 isClustered, isHadrEnabled 결과값 [2] Jeremiah 2021.11.09 105
10760 연속 3년이상 특정 등급을 받은 데이터의 카운트를 구하고싶습니다 [2] Lyx 2021.11.08 194
10759 쿼리문 질문드립니다. file One이 2021.11.04 99
10758 해당월 주차 구하고 싶어요... [1] newferari 2021.11.03 182
» MS SQL 에서 ORDER BY + SELECT TOP 1 의 속도 문제 [3] 계자 2021.10.11 576
10756 동일 쿼리문 다른 실행계획 문의 [1] file 윤맹 2021.10.07 171
10755 AWS RDS MSSQL 사용중입니다. 세션수가 증가하여 신규 세션 생성이 원활하지 않은 문제가 있습니다. [2] file rig**** 2021.10.05 233
10754 프로시저문 작성 요청입니다. [2] file 얼음왕자 2021.10.05 149
10753 ms sql 주차 퀴리 질문드립니다 우엥 2021.09.28 109
10752 쿼리 문의 드립니다. [1] pyro 2021.09.19 99





XE Login