Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Problème de performances de SQL Server Express

Si votre index n'est pas utilisé, cela indique généralement l'un des deux problèmes suivants :

  1. Conditions de prédicat non sargables, telles que WHERE DATEPART(YY, Column) = <something> . L'encapsulation de colonnes dans une fonction compromettra ou éliminera la capacité de l'optimiseur à utiliser efficacement un index.

  2. Colonnes non couvertes dans la liste de sortie, ce qui est très probable si vous avez l'habitude d'écrire SELECT * au lieu de SELECT specific_columns . Si l'index ne couvre pas votre requête, alors SQL Server doit effectuer une recherche RID/clé pour chaque ligne, une par une, ce qui peut tellement ralentir la requête que l'optimiseur décide simplement de faire une analyse de table à la place.

Voyez si l'un d'entre eux pourrait s'appliquer à votre situation ; si vous êtes toujours confus, je vous recommande de mettre à jour la question avec plus d'informations sur votre schéma, les données et les requêtes lentes. 500 Mo est très petit pour une base de données SQL, cela ne devrait donc pas être lent. Publiez également le contenu du plan d'exécution.