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

LINQ to SQL:zbyt duże użycie procesora:co się dzieje, gdy jest wielu użytkowników

Profil. Profil. Profil.

Profil, aby dowiedzieć się, które zapytanie zajmuje najwięcej zasobów i poprawić wydajność tego zapytania. Możesz użyć właściwości Log DataContext, aby wyświetlić SQL — zobacz ten artykuł . Możesz uzyskać plany zapytań dla zapytania w SQL Server — zobacz ten artykuł .

Przykłady sposobów ulepszenia zapytania:

  • Dodaj brakujące indeksy.
  • Przepisz zapytanie, aby skorzystać z indeksów, które już tam są.
  • Nie pobieraj zbyt dużej ilości danych na zapytanie — używaj stronicowania i pobieraj więcej wierszy tylko na żądanie. Nie pobieraj pól, których nie potrzebujesz.
  • Nie pobieraj zbyt małej ilości danych na zapytanie — nie twórz pętli pobierającej jeden wiersz naraz. Pobierz wiele wierszy naraz.

Gdy to zrobisz, sprofiluj ponownie, aby sprawdzić, czy poprawiłeś wydajność tego zapytania. Jeśli nie, powtarzaj, aż będziesz mieć.

Następnie sprofiluj ponownie, aby zobaczyć, jakie jest następne zabójcze zapytanie i powtarzaj proces, aż Twoja wydajność będzie akceptowalna.

Mówisz, że już profilowałeś, ale nie opublikowałeś żadnych informacji dotyczących profilowania, takich jak zapytania, plany zapytań, czasy wykonania, częstotliwość zapytań itp. Bez dodatkowych informacji dotyczących profilowania możemy tylko zgadywać.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ODBC i SQL Server 2008:Nie można użyć przygotowanych instrukcji?

  2. Jaki typ danych do przechowywania obrazów i dokumentów w SQL Server 2005

  3. NHibernate + domyślna kolumna getdate()

  4. Uzyskaj tylko datę z datetime sql bez konwersji na varchar, abym mógł ją posortować w programie Excel

  5. SQL Nie można wstawić jawnej wartości dla kolumny tożsamości w tabeli „Tabela”, gdy IDENTITY_INSERT jest ustawione na OFF