web-dev-qa-db-fra.com

Détails d'index manquants SQL

Je réglage mon serveur SQL et lorsque je montre mon plan d'exécution pour l'une de mes questions au sommet, il se lit comme suit:

"Index manquant (impact 99.7782): créer une index non clustered ..."

J'ai donc examiné les détails de l'indice manquant et il montre ceci:

/*
Missing Index Details from ExecutionPlan1.sqlplan
The Query Processor estimates that implementing the following index could improve the query cost by 99.7782%.
*/

/*
USE [phsprod]
GO
CREATE NONCLUSTERED INDEX [<Name of Missing Index, sysname,>]
ON [dbo].[address] ([userid])

GO
*/

Je n'ai travaillé que avec SQL depuis environ un mois maintenant et je n'ai jamais rien fait avec cela car toutes mes tables ont déjà été construites pour moi. Quelqu'un peut-il aider à expliquer/me donner des idées sur ce qu'il faut faire avec cela? Merci.

22
Matt P

Cela signifie que SQL Server suggère que votre requête pourrait fonctionner plus rapidement avec un index. Index ajoutez des frais de stockage et de disque, vous devez donc ignorer cette indice que si la requête ne donne des problèmes de performance en production.

Pour créer l'index, déconnectez l'instruction après use, remplacez [<Name of Missing Index, sysname,>] avec un vrai nom et courez-le:

USE [phsprod]
GO
CREATE NONCLUSTERED INDEX IX_Address_UserId
ON [dbo].[address] ([userid])
25
Andomar