안녕하세요 2년차 개발자 입니다.

특정 테이블의 ROW 수가 약 1억건 정도 됩니다. 제가 필요한 데이터는 약 2000건 정도 되구요.

현재 제가 제공받은 쿼리는 아래와 같은데 "이력" 테이블이 1억건이 들어있는 테이블입니다.

2000건을 조회하는데에는 약 4분~5분 정도 걸립니다..문제는 이 데이터가 거의 실시간 성으로? 나와야 하는데..인덱스가 걸려있지 않습니다. 


인덱스 생성을 위해 대용량 테이블 인덱스 관련 정보를 조금 찾아봤는데 이해가 되지 않는 부분이 있어서 질문 드립니다.


1. 선택도 고려

아래 쿼리에서는 "설비코드"가 선택도가 가장 좋습니다. 그럴 경우에 "설비코드", "그룹코드", "공장코드" 순으로 생성하면 될까요?

또한 "신호", EndTime(datetime type)을 추가로 인덱스 생성을 원하는 경우 EndTime, "신호" 순으로 생성하면 될까요?


2. 인덱스 효율

대용량 테이블에 인덱스를 설정 할 때는 많은 것을 고려 해야 한다고 봤는데

기본 적으로 "이력" 테이블은 INSERT 작업이 꾸준히 이루어 집니다. 

제가 인덱스를 생성 했을 때 눈에 띄게 INSERT, UPDATE ... 작업이 느려질까요?

또 대용량 테이블에서는 인덱스를 이용하여 scan 했을 때 더 느릴 수도 있다는데 어떤 경우에 그럴 수 있을까요?





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

SELECT

  *

FROM 설비

LEFT JOIN

(

    SELECT

        공장코드, 그룹코드, 설비코드

    FROM 이력 A

    WHERE 신호 = '정상'

    AND EndTime = (

                                    SELECT

                                          MAX(EndTIme)

                                    FROM 이력

                                    WHERE 공장코드 = A.공장코드

                                    AND 그룹코드 = A.그룹코드

                                    AND 설비코드 = A.설비코드

                              )

) B

ON A.공장코드 = B.공장코드

AND A.그룹코드 = B.그룹코드

AND A.설비코드 = B.설비코드

WHERE A.공장코드 = '특정공장'


No. Subject Author Date Views
Notice [IT재직자] 개강임박!! 올해 마지막 무료 및 국비지원 교육 (JAVA, 리눅스 기초/고급 , CCNA, CCIE 등) 코난(김대우) 2022.12.02 111
Notice 2022년 11월 SQLER의 강좌 업데이트 리스트 코난(김대우) 2022.12.01 24
Notice 2022 공개SW 페스티벌 - Open Up 코난(김대우) 2022.12.01 15
» 대용량 테이블(1억건) 인덱스 생성 질문 드립니다. [1] 깜우석 2018.06.01 2362
10232 ISDATE INDEX 관련 질문입니다~! [2] 엔더 2018.06.01 717
10231 쿼리 문의드립니다~! [3] 엔더 2018.05.31 779
10230 정말 이상한 사칙연산 결과 질문 드립니다. [1] hackhyun 2018.05.30 988
10229 쿼리 문의 드립니다. l1j2e3 2018.05.30 695
10228 고수님들께 SQL 쿼리작성문 문의드립니다! 브라미 2018.05.29 807
10227 DB서버 이전설치시 가장 좋은 방법은 뭘까요? [3] 이상혁_300342 2018.05.28 1372
10226 Table Join후 건 수(Count) 확인 시 최적화 방법 문의 노란하늘 2018.05.28 930
10225 세개의 테이블 join시 가장 많은 라인수에 따라서 행갯수 표기방법 좀알려주세요. 정명호 2018.05.24 662
10224 IF문 안에 있는 링크드서버(Linked Server) 로그인 [1] NiceHee 2018.05.24 939
10223 프로시저 호출 로그 [2] 봉술의달인 2018.05.24 1160
10222 데이터 캐싱에 대하여 ( 일반 SAN과 SSD차이가 이렇게 나는지요? [1] 공유맨 2018.05.23 807
10221 날짜별 합계인데 시간이 다른건 어떻게 해야 하나요.... [1] 똘스또이 2018.05.23 1326
10220 쿼리 문의드립니다! [2] szl0828 2018.05.21 901
10219 쿼리 질문입니다. [1] 얼음왕자 2018.05.21 789
10218 쿼리 문의 드립니다. [2] l1j2e3 2018.05.18 874
10217 특정 시간에 실행된 프로시저 내역 조회 방법이 궁급합니다. [1] vitill 2018.05.16 985
10216 중복된 값 select시 한행만 표시여부 [4] 노란하늘 2018.05.16 1226
10215 (Microsoft SQL Server, 오류: 950) 오류해결방법에 대한 문의입니다. [1] 목동의별 2018.05.16 2127
10214 쿼리 혹은 프로시저 작성 [2] 얼음왕자 2018.05.15 983





XE Login

테스트 팝업
Close