sql >> Database >  >> RDS >> Sqlserver

Prestatieprobleem met SQL Server Express

Als uw index niet wordt gebruikt, duidt dit meestal op een van de volgende twee problemen:

  1. Niet-sargable predikaatvoorwaarden, zoals WHERE DATEPART(YY, Column) = <something> . Als u kolommen in een functie plaatst, wordt het vermogen van de optimizer om een ​​index effectief te gebruiken, belemmerd of uitgeschakeld.

  2. Niet-bedekte kolommen in de uitvoerlijst, wat zeer waarschijnlijk is als je de gewoonte hebt om SELECT * te schrijven in plaats van SELECT specific_columns . Als de index uw query niet dekt, moet SQL Server voor elke rij een RID/sleutel opzoeken, één voor één, wat de query zo veel kan vertragen dat de optimizer besluit om in plaats daarvan een tabelscan uit te voeren.

Kijk of een van deze van toepassing kan zijn op uw situatie; als je nog steeds in de war bent, raad ik je aan de vraag bij te werken met meer informatie over je schema, de gegevens en de trage query's. 500 MB is erg klein voor een SQL-database, dus dit zou niet traag moeten zijn. Post ook wat er in het uitvoeringsplan staat.



  1. Hoe te ontsnappen aan gereserveerde mysql-woorden in query in php?

  2. decimaal(s,p) of getal(s,p)?

  3. hoe de datum in het maandnummer om te zetten?

  4. Mysqli-tabel doorzoeken met formulier en resultaten weergeven