Pengoptimal kueri dalam SQL Server dapat membuat beberapa saran indeks yang hilang untuk permintaan individu. Namun bagian dari SQL Server Management Studio (SSMS) yang menampilkan rencana eksekusi secara visual hanya menampilkan satu saran indeks yang hilang; sepertinya bug. Namun beberapa saran indeks ini terlihat di SSMS, misalnya di properti untuk operator pertama (mis. SELECT
), Tekan F4.
Seperti yang telah Anda catat, beberapa saran dapat dilihat di XML rencana, atau alat pihak ketiga seperti SQL Sentry Plan Explorer . Beberapa saran juga akan terlihat di DMV indeks yang hilang (mis. Sys.dm_db_missing_index_details )
Kueri sederhana ini menghasilkan beberapa saran untuk saya:
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