Bonjour,

Voilà je suis assez novice dans l'utilisation de SQL server.
Je travaille sur une base lié à notre logiciel de production, donc je n'ai pas la main sur tout.
Afin d'améliorer les performances de nos requêtes, j’exécute régulièrement cette requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT 'CREATE INDEX [missing_index] ON ' + mid.statement + '(' + ISNULL(mid.equality_columns, '') + CASE         WHEN mid.equality_columns IS NOT NULL
            AND mid.inequality_columns IS NOT NULL
            THEN ', '
        ELSE ''
        END + ISNULL(mid.inequality_columns, '') + ')' + ISNULL(' INCLUDE (' + mid.included_columns + ')', '') AS create_index_statement
     ,mid.statement
    , migs.*
    , mid.database_id
    , mid.[object_id]
FROM sys.dm_db_missing_index_groups mig
INNER JOIN sys.dm_db_missing_index_group_stats migs ON migs.group_handle = mig.index_group_handle
INNER JOIN sys.dm_db_missing_index_details mid ON mig.index_handle = mid.index_handle
INNER JOIN sys.objects sysobj ON sysobj.object_id = mid.[object_id]
ce qui me permet de rechercher la liste des index manquant.
Je les analyse un peut puis je met en place les index maquant.
Mais très régulièrement j'ai des index indiqués comme manquant hors ceci sont bien présent.
Est-ce que quelqu'un à déjà rencontré ce genre de problèmes?
Est-ce que j'oublie de faire quelque chose?
merci d'avance pour vos suggestions.