«execution-plan» 태그된 질문

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


4
인덱스 검색 대 인덱스 스캔
느리게 실행되는 쿼리의 실행 계획을 살펴본 결과 일부 노드는 인덱스 검색이고 일부는 인덱스 스캔 인 것으로 나타났습니다. 인덱스 검색과 인덱스 스캔의 차이점은 무엇입니까? 어느 것이 더 잘 수행됩니까? SQL은 어떻게 다른 것을 선택합니까? 나는 이것이 3 가지 질문이라는 것을 알고 있지만 첫 번째 질문에 대답하면 다른 질문에 대해 설명 할 …

3
과도한 정렬 메모리 부여
이 간단한 쿼리에 왜 그렇게 많은 메모리가 부여됩니까? -- Demo table CREATE TABLE dbo.Test ( TID integer IDENTITY NOT NULL, FilterMe integer NOT NULL, SortMe integer NOT NULL, Unused nvarchar(max) NULL, CONSTRAINT PK_dbo_Test_TID PRIMARY KEY CLUSTERED (TID) ); GO -- 100,000 example rows INSERT dbo.Test WITH (TABLOCKX) (FilterMe, SortMe) SELECT …

3
알 수없는 매개 변수 스니핑 vs 변수 vs 재 컴파일 vs 최적화
그래서 오늘 아침에 문제를 일으키는 긴 실행 프록이있었습니다 (30 초 + 실행 시간). 우리는 매개 변수 스니핑이 책임이 있는지 확인하기로 결정했습니다. 그래서 우리는 proc을 다시 작성하고 매개 변수 스니핑을 물리 치기 위해 들어오는 매개 변수를 변수로 설정했습니다. 시도 / 진정한 접근. Bam, 쿼리 시간이 향상되었습니다 (1 초 미만). 쿼리 계획을 …

3
실행 계획 기본 사항-해시 일치 혼동
실행 계획을 배우기 시작했으며 해시 일치가 정확히 어떻게 작동하고 간단한 조인에 사용되는지에 대해 혼란스러워합니다. select Posts.Title, Users.DisplayName From Posts JOIN Users on Posts.OwnerUserId = Users.Id OPTION (MAXDOP 1) 내가 이해 한 것처럼 최상위 인덱스 스캔의 결과는 해시 가능이되고 맨 아래 인덱스 클러스터 스캔의 각 행이 조회됩니다. 해시 테이블이 적어도 어느 …

2
TOP은 실행 계획에 어떤 영향을 미칩니 까?
최적화하려는 중간 정도의 복잡한 쿼리의 경우 TOP n절 을 제거 하면 실행 계획이 변경됩니다. 쿼리 TOP n에 데이터베이스 엔진이 포함 되면 TOP절을 무시하고 쿼리를 실행 한 다음 결국에는 결과 집합 을 요청 된 n 개의 행 수로 줄입니다. 그래픽 실행 계획은 이것이 사실임을 나타내는 것 같습니다 – TOP"마지막"단계입니다. 그러나 더 …

2
XML 리더로 계획 최적화
여기에서 쿼리를 실행 하여 기본 확장 이벤트 세션에서 교착 상태 이벤트를 가져옵니다. SELECT CAST ( REPLACE ( REPLACE ( XEventData.XEvent.value ('(data/value)[1]', 'varchar(max)'), '<victim-list>', '<deadlock><victim-list>'), '<process-list>', '</victim-list><process-list>') AS XML) AS DeadlockGraph FROM (SELECT CAST (target_data AS XML) AS TargetData FROM sys.dm_xe_session_targets st JOIN sys.dm_xe_sessions s ON s.address = st.event_session_address WHERE [name] …



3
변수를 인라인 할 때 SQL Server가 더 나은 실행 계획을 사용하는 이유는 무엇입니까?
최적화하려는 SQL 쿼리가 있습니다. DECLARE @Id UNIQUEIDENTIFIER = 'cec094e5-b312-4b13-997a-c91a8c662962' SELECT Id, MIN(SomeTimestamp), MAX(SomeInt) FROM dbo.MyTable WHERE Id = @Id AND SomeBit = 1 GROUP BY Id MyTable 두 개의 색인이 있습니다. CREATE NONCLUSTERED INDEX IX_MyTable_SomeTimestamp_Includes ON dbo.MyTable (SomeTimestamp ASC) INCLUDE(Id, SomeInt) CREATE NONCLUSTERED INDEX IX_MyTable_Id_SomeBit_Includes ON dbo.MyTable (Id, SomeBit) INCLUDE …

1
SQL Server 2014 : 일관성없는 자체 조인 카디널리티 추정에 대한 설명이 있습니까?
SQL Server 2014에서 다음 쿼리 계획을 고려하십시오. 쿼리 계획에서 자체 조인 ar.fId = ar.fId은 1 행으로 추정됩니다. 그러나, 이것은 논리적으로 일관성이 추정은 다음과 같습니다 ar있다 20,608행의 한 별개의 값 fId(정확하게 통계에 반영을). 따라서이 조인은 행 ( ~424MM행) 의 전체 교차 곱을 생성하여 몇 시간 동안 쿼리를 실행합니다. SQL Server가 통계와 …

3
Persisted Computed 열에 대한 인덱스는 계산 된 표현식에서 열을 가져 오려면 키 조회가 필요합니다.
이 질문은 데이터베이스 관리자 스택 Exchange에서 답변을 얻을 수 있기 때문에 스택 오버플 로 에서 마이그레이션 되었습니다. 6 년 전에 이주했습니다 . 나는 단순히 연결된 열로 구성된 테이블에 지속 계산 열을 가지고 있습니다. CREATE TABLE dbo.T ( ID INT IDENTITY(1, 1) NOT NULL CONSTRAINT PK_T_ID PRIMARY KEY, A VARCHAR(20) NOT …

1
사용자에게 SQL Server SHOWPLAN 권한을 부여 할 위험이 있습니까?
이 질문은 데이터베이스 관리자 스택 Exchange에서 답변을 얻을 수 있기 때문에 스택 오버플 로 에서 마이그레이션 되었습니다. 7 년 전에 이주했습니다 . 대규모 SQL Server 2008 데이터베이스에서 일부 성능 조정을 수행 중이며 IT 그룹이 SHOWPLAN 권한을 부여하지 않습니다. 과거에는 "실행 계획 표시"가 개별 쿼리 및 프로 시저의 성능을 이해하는 가장 …


1
이 Constant Scan 및 Left Outer Join은 간단한 SELECT 쿼리 계획에서 어디에서 왔습니까?
나는이 테이블을 가지고있다 : CREATE TABLE [dbo].[Accounts] ( [AccountId] UNIQUEIDENTIFIER UNIQUE NOT NULL DEFAULT NEWID(), -- WHATEVER other columns ); GO CREATE UNIQUE CLUSTERED INDEX [AccountsIndex] ON [dbo].[Accounts]([AccountId] ASC); GO 이 쿼리 : DECLARE @result UNIQUEIDENTIFIER SELECT @result = AccountId FROM Accounts WHERE AccountId='guid-here' 예상대로 단일 인덱스 검색으로 구성된 쿼리 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.