Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Problem z wydajnością SQL Server Express

Jeśli Twój indeks nie jest używany, zwykle oznacza to jeden z dwóch problemów:

  1. Warunki predykatu nieargable, takie jak WHERE DATEPART(YY, Column) = <something> . Zawijanie kolumn w funkcji osłabi lub wyeliminuje zdolność optymalizatora do efektywnego wykorzystania indeksu.

  2. Niepokryte kolumny na liście wyjściowej, co jest bardzo prawdopodobne, jeśli masz zwyczaj pisania SELECT * zamiast SELECT specific_columns . Jeśli indeks nie obejmuje zapytania, SQL Server musi przeprowadzić wyszukiwanie RID/klucza dla każdego wiersza, jeden po drugim, co może spowolnić zapytanie tak bardzo, że optymalizator zdecyduje się zamiast tego na skanowanie tabeli.

Sprawdź, czy któryś z nich może dotyczyć Twojej sytuacji; jeśli nadal jesteś zdezorientowany, zalecam zaktualizowanie pytania o więcej informacji na temat schematu, danych i zapytań, które są powolne. 500 MB to bardzo mało jak na bazę danych SQL, więc nie powinno to być wolne. Opublikuj również, co jest w planie wykonania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd CTE:typy nie pasują do kotwicy i części rekurencyjnej

  2. Nie można wstawić wartości null do datetime na serwerze sql

  3. Procedura składowana do skryptowania obiektów bazy danych do pliku?

  4. Jak zmienić domyślną datę systemową z ymd na dmy?

  5. Dla pól autoinkrementacji:MAX(ID) vs TOP 1 ID ORDER BY ID DESC