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

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

MSSQL 에서 PIVOT 쿼리를 실행 중에 속도의 문제가 있어서 질문 드립니다.

1. 4,270,400개 행의 테이블(A)를 PIVOT 쿼리를 실행하여 27,200행으로 전환했습니다.

 - PIVOT되는 행에 비클러스형 포괄인덱스를 걸었습니다. (SELECT 되는 행을 포괄함)

CREATE NONCLUSTERED INDEX [A_inc] ON [dbo].[A]
([C_ID] ASC)
INCLUDE([V_ID],[M_IDs],[MY_ID])

 

쿼리

SELECT *                                        
FROM (                                                                
        SELECT C_ID
            , M_IDs
            , MY_ID
            , V_ID
        FROM A

        WHERE C_ID = 1   --(4,270,400개 행)

        ) T
PIVOT (
        MAX(V_ID) FOR MY_ID IN (  [1] ... [160]  ) AS PVT

 

결과 행 27,200

C_ID    M_IDs    1    2    3    4    5    6    7    8    9    10   ...  160
1        M004    A     B    C    D   E    F    H    T   E    NULL ...  P
1        M012    A     B    C    D   E    K    Y    R   M    O    ... NULL

 

속도가 느려서 튜닝이 가능한지 알고 싶습니다.

20초 가량 걸리는데 1초 정도로 줄이고 싶습니다.

 

2. 현재는 PIVOT될 행을 문자열로 통일했습니다.

하지만 행이 여러 타입일 경우 타입을 그대로 가져와서 PIVOT 하는 방법이 없을까요?

No. Subject Author Date Views
10698 MS-SQL 프로시져 질문드립니다. [2] file YoHanKo 2021.03.22 108
10697 [질문] sql 퀴즈 관련 문의 드립니다. [1] KyungjinKo 2021.03.18 49
10696 JSON 값을 MSSQL로 파싱하고자 합니다!!! 오라클ㄹ 2021.03.18 51
10695 oracle DBLINK된 테이블에 연결이 안 될 때 jeonjeon 2021.03.16 36
10694 Oracle -> postgresql 변환 질문 [1] SQL공부 2021.03.12 52
10693 SP에서 api 실행을 위한 SQL instance의 구성을 변경 에러... [1] 로그 2021.03.11 42
10692 복제 관련 + 데이테이스 복구모델 설정 관련해서 질문드립니다. DogyungHan 2021.03.05 101
10691 frm, ibd 파일을 통해 db를 복구중인데 스키마가 안맞는다는 에러가 뜹니다. [2] LavumiKim 2021.02.22 130
10690 교착상태 대기없이 종료되는 현상 [2] 박재율 2021.02.15 161
10689 시작일/종료일/데이터를 가진 테이블을 최신화 및 중복을 제거하여 조회하고싶습니다. [1] 톰슨 2021.02.09 92
10688 서브쿼리를 없애고 싶은데요 [3] 1098476 2021.02.08 138
10687 전문검색(FullText) 증분 채우기 문의 드립니다. 설날 2021.01.30 56
10686 SQL 초보 입니다. Lock에 대해 문의드립니다. 강준호 2021.01.29 70
10685 쿼리가 인덱스를 타지 않습니다 [2] file freighter 2021.01.28 110
10684 DML 작업중인 테이블 속도 저하 현상 건 [1] 독도삼겹살 2021.01.28 47
10683 MS SQL LEFT JOIN 관련 질문있습니다. 답변 부탁드립니다. [1] HanJaehwan 2021.01.28 134
10682 mssql 여러개의 체크박스가 있는 경우에 컬럼은 어떻게 만드시나요? [1] 카루카루 2021.01.19 249
» MSSQL PIVOT 질문 입니다. 우롱 2021.01.13 99
10680 DB 락 질문입니다. [2] 희망나라 2021.01.07 154
10679 HAVING절에 ANY나SOME이나ALL을 쓸수가있나요 ? [1] 흑곰 2021.01.04 96





XE Login