sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server Express-ydelsesproblem

Hvis dit indeks ikke bliver brugt, indikerer det normalt et af to problemer:

  1. Ikke-sargerbare prædikatbetingelser, såsom WHERE DATEPART(YY, Column) = . Indpakning af kolonner i en funktion vil forringe eller eliminere optimeringsværktøjets evne til effektivt at bruge et indeks.

  2. Ikke-dækkede kolonner i outputlisten, hvilket er meget sandsynligt, hvis du har for vane at skrive SELECT * i stedet for SELECT specific_columns . Hvis indekset ikke dækker din forespørgsel, skal SQL Server udføre et RID/nøgleopslag for hver række, én efter én, hvilket kan sænke forespørgslen så meget, at optimeringsværktøjet bare beslutter sig for at lave en tabelscanning i stedet for.

Se om en af ​​disse kan gælde for din situation; hvis du stadig er forvirret, vil jeg anbefale, at du opdaterer spørgsmålet med flere oplysninger om dit skema, dataene og de forespørgsler, der er langsomme. 500 MB er meget lille for en SQL-database, så det burde ikke være langsomt. Post også, hvad der står i udførelsesplanen.



  1. Svarende til strftime i Postgres

  2. MYSQL sortering efter at have afstand, men ikke i stand til at gruppere?

  3. ORA-01400:Kan ikke indsætte null i (TABLE.KOLUMN) (dvale)

  4. SQL Server - efter insert trigger - opdatere en anden kolonne i samme tabel