sql >> Databasteknik >  >> RDS >> Sqlserver

LINQ till SQL:För mycket CPU-användning:Vad händer när det finns flera användare

Profil. Profil. Profil.

Profil för att ta reda på exakt vilken fråga som tar mest resurser och förbättra prestandan för den frågan. Du kan använda egenskapen Log för DataContext för att se SQL - se denna artikel . Du kan hämta frågeplanerna för en fråga i SQL Server - se denna artikel .

Exempel på sätt att förbättra en fråga:

  • Lägg till saknade index.
  • Skriv om frågan för att dra nytta av de index som redan finns där.
  • Hämta inte för mycket data per fråga – använd sökning och hämta bara fler rader när så begärs. Hämta inte fält du inte behöver.
  • Hämta inte för lite data per fråga – gör inte en loop som hämtar en rad i taget. Hämta många rader samtidigt.

När du har gjort det, profilera igen för att kontrollera om du har förbättrat prestandan för den frågan. Om inte, upprepa tills du har gjort det.

Profilera sedan igen för att se vad nästa mördande fråga är och upprepa processen tills din prestation är acceptabel.

Du säger att du redan har profilerat, men du har inte lagt upp någon profileringsinformation såsom frågor, frågeplaner, exekveringstider, frågefrekvens, etc. Utan mer profileringsinformation kan vi bara gissa.



  1. Hur man flyttar sedan radera fält i MySQL

  2. Produkt() aggregatfunktion

  3. Tjänster är inte synliga i SQL Server Configuration Manager

  4. QMYSQL-drivrutin tillgänglig men inte laddad