«execution-plan» 태그된 질문

쿼리 최적화 프로그램이 쿼리를 처리하기 위해 선택한 전략입니다.

1
전체 테이블의 쿼리에 사용되지 않은 파티션의 인덱스 통계
다음 조인은 파티션에서 조인을 수행 할 때와 전체 테이블에서 조인 할 때 행 추정값이 매우 다릅니다. CREATE TABLE m_data.ga_session ( session_id BIGINT NOT NULL, visitor_id BIGINT NOT NULL, transaction_id TEXT, timestamp TIMESTAMP WITH TIME ZONE NOT NULL, day_id INTEGER NOT NULL, [...] device_category TEXT NOT NULL, [...] operating_system TEXT ); …

1
스캔을 유발하는 지속 계산 열
일반 열을 지속 형 계산 열로 변환하면이 쿼리에서 인덱스 검색을 수행 할 수 없습니다. 왜? 2016 SP1 CU1을 포함한 여러 SQL Server 버전에서 테스트되었습니다. 재현 계산 열 일반 열 문제는 함께 table1, col7. 테이블과 쿼리는 원본의 일부 (및 단순화 된) 버전입니다. 쿼리를 다르게 다시 작성할 수 있다는 것을 알고 있으며 …

3
실행 계획이 INDEX를 사용하지 않고 테이블 스캔을 사용합니다.
인덱스 또는 테이블 스캔을 사용할 때 SQL Server는 통계를 사용하여 어느 것이 더 나은지 알 수 있습니다. 2 천만 개의 행이있는 테이블이 있습니다. (SnapshotKey, Measure) 및이 쿼리에 대한 색인이 있습니다. select Measure, SnapshotKey, MeasureBand from t1 where Measure = 'FinanceFICOScore' group by Measure, SnapshotKey, MeasureBand 쿼리는 500k 개의 행을 반환합니다. …

2
SQL 실행 계획에서 TOP 작업이 필요한 이유
잠시 검색 한 후, 나는이 질문에 대한 답을 찾지 못하여 게시하고 비슷한 질문 / 답변이 있는지 사과하기로 결정했습니다. 두 개의 유사하게 설정된 SQL 서버에서 아래 쿼리를 실행할 때 성능에 영향을 미치는 다른 실행 계획이 발생하며 원인을 파악하는 데 도움이 필요합니다. 쿼리 : SELECT process_id INTO #temp FROM revrep_revenue_fact WHERE process_id …

1
SELECT COUNT () 쿼리 실행 계획에 왼쪽 조인 테이블이 포함되는 이유는 무엇입니까?
SQL Server 2012에는 다른 테이블에 조인이있는 테이블 값 함수가 있습니다.이 '테이블 값 함수'의 행 수를 계산해야합니다. 실행 계획을 검사 할 때 왼쪽 조인 테이블을 볼 수 있습니다. 왜? 왼쪽 조인 테이블이 반환되는 행 수에 어떤 영향을 줄 수 있습니까? DB 엔진이 SELECT count (..) 쿼리에서 왼쪽 조인트 테이블을 평가할 필요가 …

3
sp_WhoIsActive의 많은“FETCH API_CURSOR0000…”(SQL Server 2008 R2)
이상한 상황이 있습니다. 사용하면 sp_whoisactive이것을 볼 수 있습니다 : 좋아,이 쿼리를 사용하면 트리거되는 것이 무엇인지 알 수 있습니다 (이 단어는 영어로 존재합니까?). SELECT c.session_id, c.properties, c.creation_time, c.is_open, t.text FROM sys.dm_exec_cursors (SPID) c --0 for all cursors running CROSS APPLY sys.dm_exec_sql_text (c.sql_handle) t 결과: 간단 select합니다. 왜 f를 사용 etch_cursor합니까? 또한 …

2
단순 삭제, 그러나 복잡한 실행 계획
이 삭제를 실행할 때 : DELETE FROM ETLHeaders WHERE ETLHeaderID < 32465870 ... 39,157 개의 행을 삭제합니다. 클러스터 된 인덱스 및 기본 키인 ETLHeaderID에서 삭제 중이므로 단순해야합니다. 그러나 (실행 계획에 따르면) 361,190 행에 도달하고 다른 인덱스를 사용하는 것으로 보입니다. 테이블에는 XML 데이터 유형의 필드가 있습니다 (이 DELETE에 영향을주는 경우). 이 …

1
SentryOne Plan Explorer는 UDF의 읽기를 계산합니까?
다음과 같은 쿼리가 있습니다. select dbo.fn_complexFunction(t.id) from mytable t 에서 SQL 센트리 계획 탐색기 , 나는 눈치 내가 쿼리 계획은 UDF를 포함 할 수 있도록 예상 계획을 가져 오기 실행해야합니다. '실제 계획 가져 오기'를 실행할 때 논리적 읽기 및 기타 메트릭에 UDF에서 발생하는 작업이 포함되어 있지 않습니다. 이런 경우 프로파일 …

2
뷰의 실행 계획을 어떻게 얻습니까?
여러보기가있는 스키마가 있습니다. 적절한 인덱스가 있고 사용 중인지 확인하기 위해 실행 계획을 확인해야합니다. 어떻게해야합니까? 차라리의 출력 복사 및 붙여 넣기 할 필요가 없습니다 것 show create view <viewname>로를 explain보기 중 일부는 다른 뷰 위에 구축이 매우 통증이있을 것이다 특히.

2
저장 프로 시저에서 임시와 비교시 코드가 다른 계획을 만듭니다.
저장 프로 시저 내에서 실행할 때 잘못된 계획을 사용하지만 임시를 실행할 때 훨씬 더 나은 계획을 선택하는 delete 문이 있습니다. 쿼리에서 사용하는 테이블의 모든 인덱스를 다시 작성하고 모든 캐시를 삭제했습니다. 옵티마이 저는 여전히 저장 프로 시저에 대해 잘못된 계획을 선택합니다. 옵티마이 저가 저장 프로 시저와 임시 SQL에 대해 다른 실행 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.