SQL 2014를 사용하고 있는데 현재 id 열의 최소 및 최대 값을 반환하려고합니다. id 열은 기본 키이며 클러스터되지 않은 고유 한 인덱스가 있습니다. 내 테이블에는 206,923,208 개의 레코드가 있으며 계속해서 성장하고 있습니다. 나는 그것 여전히이 시간 이후 6+ 분을 복용 ID의 최소 및 최대를 찾을 수 있지만, 651,315 레코드를 반환 위에 나는 또한 내 레코드 선택을 바탕으로큰 테이블 최소/최대
select min(id) from tier_post (nolock)
where created_datetime >= '2016-11-13' and created_datetime <= '2016-11-15'
아래에 날짜를 만드는 예제 코드를 기반으로 내 기록을 선택하고 내가 스크립트를 중지했습니다
처음에는 같은 select 문에서 min과 max를 사용하고있었습니다. 그러나이 명령문은 더 느리게 실행되어 여전히 시도하고 해체하고 개별적으로 실행한다고 생각합니다.
혼란스럽게도이 테이블은 SSIS 패키지를 통해 5 분마다 지속적으로 채워지므로 내 스크립트가이 기간 동안 실행될 때 문제가 발생할 가능성이 있습니다.
누구나 이와 비슷한 문제가 발생 했습니까?이를 수정하는 방법에 대한 아이디어가 있습니까?
감사합니다.
어떤 색인을 사용할 수 있습니까? – BishNaboB
안녕하세요 BishNaboB, 고유 한 클러스터되지 않은 인덱스 및 unique_ 클러스터되지 않은 인덱스 created_datetime – PJD
고유 한, 클러스터되지 않은 인덱스가 있습니다. NOLOCK, 특히 테이블에 지속적으로 기록됩니다 알고있는 경우주의해야합니다. 그게 여기서 문제가되는지는 모르지만 NOLOCK의 위험성을 읽어야합니다. 실행 계획은 어떻게 생겼습니까? 어떤 색인을 사용하고 있습니까? –