여러 개의 누락 된 인덱스가있는 실행 계획


15

'실제 실행 계획 포함'으로 쿼리를 실행하면 계획에서 누락 된 인덱스도 제안합니다. 색인 세부 사항은 MissingIndexesXML의 태그 안에 있습니다. 계획에 여러 개의 색인 제안이 포함 된 상황이 있습니까? 다른 SQL 쿼리를 시도했지만 둘 이상의 누락 된 인덱스를 생성하는 쿼리를 만들 수 없습니다.

답변:


27

SQL Server의 쿼리 최적화 프로그램은 개별 쿼리에 대해 여러 가지 누락 된 인덱스 제안을 만들 수 있습니다. 그러나 실행 계획을 시각적으로 표시하는 SSMS (SQL Server Management Studio)의 일부에는 누락 된 단일 인덱스 제안 만 표시됩니다. 그것은 버그처럼 보입니다. 그러나 이러한 다중 인덱스 제안 제 운영자 (예를위한 속성 예에서 볼 수 SSMS SELECT) 프레스 F4.

SSMS에서 여러 누락 된 인덱스 제안보기

언급했듯이 plan XML 또는 SQL Sentry Plan Explorer 와 같은 타사 도구에는 여러 제안이 표시됩니다 . 누락 된 인덱스 DMV에도 여러 제안이 표시됩니다 (예 : sys.dm_db_missing_index_details )

이 간단한 쿼리로 인해 여러 가지 제안이있었습니다.

USE tempdb
GO

SET NOCOUNT ON
GO

IF OBJECT_ID('dbo.t1') IS NOT NULL DROP TABLE dbo.t1
CREATE TABLE dbo.t1
(
    rowId INT IDENTITY
)
GO

IF OBJECT_ID('dbo.t2') IS NOT NULL DROP TABLE dbo.t2
CREATE TABLE dbo.t2
(
    rowId INT IDENTITY
)
GO


INSERT INTO dbo.t1 DEFAULT VALUES
GO 100000

INSERT INTO dbo.t2 DEFAULT VALUES
GO 100000



SELECT *
FROM dbo.t1 t1
    INNER JOIN dbo.t2 t2 ON t1.rowId = t2.rowId
WHERE t2.rowId = 999;

HTH

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