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

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 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
» MS SQL 에서 ORDER BY + SELECT TOP 1 의 속도 문제 [3] 계자 2021.10.11 100
10756 동일 쿼리문 다른 실행계획 문의 [1] file 윤맹 2021.10.07 45
10755 AWS RDS MSSQL 사용중입니다. 세션수가 증가하여 신규 세션 생성이 원활하지 않은 문제가 있습니다. [1] file rig**** 2021.10.05 95
10754 프로시저문 작성 요청입니다. [1] file 얼음왕자 2021.10.05 70
10753 ms sql 주차 퀴리 질문드립니다 우엥 2021.09.28 52
10752 쿼리 문의 드립니다. [1] pyro 2021.09.19 68
10751 SSMS 쿼리문 자동완성 [2] Mi 2021.09.15 81
10750 라이센스 문의 이유진_301818 2021.09.13 38
10749 두 개의 테이블을 비교해서 새로운 칼럼을 생성하는 법 [1] HoonkiGlenKim 2021.09.09 79
10748 오라클 쿼리문 질문 드립니다. 양아~ 2021.09.08 36
10747 DB CPU가 튈경우, 해당 쿼리확인하는 방법에 대해 .. [2] 박진홍1041 2021.09.08 78
10746 SQL 그룹핑 관련해서 질문드립니다. [1] file 윌렴 2021.09.08 59
10745 MSSQL Insert 시 자동증가를 조건에 따라 증가 시킬수 있을까요? [2] taekyungha 2021.09.08 75
10744 sql서버 쿼리 관련 문의를 드려요 (컬럼 별 랜덤 값 조회 ) [2] 나는야 2021.09.04 56
10743 시작시간, 종료시간이 있을 때 월이 바뀌는 경우 분할하여 SELECT mesmerist 2021.09.03 45
10742 두 테이블을 join 해서 값을 가지고 올때 양쪽에 모두 값이 있을 경우만 조건이 걸리게 DOOLLY 2021.09.03 61
10741 VC++ 에서 ADO 의 RecordSet 을 이용해 select 시 실패하는 경우에 대한 문의드립니다. [2] Cover Fly 2021.09.02 52
10740 [사용자 'NT AUTHORITY\ANONYMOUS LOGON'이(가) 로그인하지 못했습니다.] 오류 문의 드립니다. 제비 2021.09.01 46
10739 [사용자 'NT AUTHORITY\ANONYMOUS LOGON'이(가) 로그인하지 못했습니다.] 오류 문의 드립니다. [1] 제비 2021.09.01 37
10738 각 필드별로 중복제거하여 포함 된 값 조회 [1] DOOLLY 2021.09.01 41





XE Login