Trong khi xem xét một kế hoạch thực hiện thực tế, nó hiển thị các chỉ mục bị thiếu mặc dù truy vấn chỉ mất chưa đến 1 giây.
SELECT
Account.AccountID,
Account.Name
FROM
account
LEFT OUTER JOIN accountfeaturesetting afs
ON afs.accountid = account.accountid
and afs.featureid = 'Schedules'
and
afs.settingid = 'EditReasons'
WHERE
ISNULL(afs.Value, '0') = '0'
AND EXISTS
(SELECT 1 FROM program WHERE program.AccountID = account.AccountID
AND program.Active = 1
AND (program.ScheduleEditReasonFlags <> 0
OR program.ScheduleEditReasonFields <> 0))
AND account.IsMaster = 0
AND account.BeginDate IS NOT NULL
Kế hoạch thực hiện đang hiển thị:
CREATE NONCLUSTERED INDEX [<Name of Missing Index, sysname,>]
ON [dbo].[Account] ([IsMaster],[BeginDate])
INCLUDE ([AccountID],[Name])
Chúng ta có cần tạo chỉ mục mặc dù truy vấn chỉ mất 1 giây không? Trên cơ sở nào một chỉ số nên được tạo ra?
Tôi sẽ chạy truy vấn này như một công việc hàng ngày.