แผนการดำเนินการที่มีดัชนีหายไปหลายรายการ


15

หากคุณเรียกใช้แบบสอบถามด้วย 'รวมแผนการดำเนินการตามจริง' แผนจะแนะนำดัชนีที่ขาดหายไปด้วย รายละเอียดดัชนีอยู่ภายในMissingIndexesแท็กใน XML มีสถานการณ์หรือไม่เมื่อแผนมีข้อเสนอแนะหลายดัชนี? ฉันลองใช้คำสั่ง sql ที่แตกต่างกัน แต่ไม่สามารถหาข้อสงสัยใด ๆ ที่สร้างดัชนีที่ขาดหายไปสองรายการขึ้นไป

คำตอบ:


27

เครื่องมือเพิ่มประสิทธิภาพข้อความค้นหาใน SQL Server สามารถสร้างดัชนีคำแนะนำที่ขาดหายไปหลายคำสำหรับแต่ละแบบสอบถาม อย่างไรก็ตามส่วนของ SQL Server Management Studio (SSMS) ซึ่งแสดงแผนการดำเนินการทางสายตาจะแสดงคำแนะนำดัชนีที่ขาดหายไปเพียงรายการเดียวเท่านั้น ดูเหมือนว่าข้อผิดพลาด อย่างไรก็ตามข้อเสนอแนะเหล่านี้ดัชนีหลายมองเห็นได้ใน SSMS เช่นในคุณสมบัติของผู้ประกอบการครั้งแรก (เช่นSELECT) F4กด

การดูคำแนะนำดัชนีที่ขาดหายไปหลายรายการใน SSMS

ในขณะที่คุณได้ตั้งข้อสังเกตยังข้อเสนอแนะหลายจะมองเห็นได้ในรูปแบบ XML แผนหรือเครื่องมือของบุคคลที่สามเช่นSQL ยามแผน 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.