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

LINQ til SQL:For meget CPU-brug:Hvad sker der, når der er flere brugere

Profil. Profil. Profil.

Profil for at finde ud af præcis, hvilken forespørgsel der tager flest ressourcer og forbedre ydeevnen for den forespørgsel. Du kan bruge egenskaben Log for DataContext til at se SQL'en - se denne artikel . Du kan få forespørgselsplanerne for en forespørgsel i SQL Server - se denne artikel .

Eksempler på måder at forbedre en forespørgsel på:

  • Tilføj manglende indekser.
  • Omskriv forespørgslen for at drage fordel af de indekser, der allerede er der.
  • Hent ikke for mange data pr. forespørgsel – brug sidesøgning, og hent kun flere rækker, når du bliver bedt om det. Hent ikke felter, du ikke har brug for.
  • Hent ikke for lidt data pr. forespørgsel – lav ikke en løkke, der henter én række ad gangen. Hent mange rækker på én gang.

Når du har gjort det, profiler du igen for at kontrollere, om du har forbedret ydelsen af ​​den forespørgsel. Hvis ikke, gentag indtil du har.

Profil derefter igen for at se, hvad den næste dræberforespørgsel er, og gentag processen, indtil din præstation er acceptabel.

Du siger, at du allerede har profileret, men du har ikke indsendt nogen profileringsoplysninger såsom forespørgsler, forespørgselsplaner, eksekveringstider, forespørgselsfrekvens osv. Uden flere profileringsoplysninger kan vi kun gætte.



  1. Søg efter flere værdier i xml-kolonnen i SQL

  2. Lær hvordan du opretter PK fra Sequence Trigger i SQL Developer

  3. MySQL-spørgsmål - Hvordan håndterer man flere typer brugere - en tabel eller flere?

  4. Sådan skriver du et java.sql.Array til et java.sql.SQLOutput i SQLData.writeSQL() for Oracle