sql >> Database >  >> RDS >> Sqlserver

LINQ to SQL:te veel CPU-gebruik:wat gebeurt er als er meerdere gebruikers zijn?

Profiel. Profiel. Profiel.

Profiel om precies te achterhalen welke query de meeste bronnen in beslag neemt en de prestaties van die query te verbeteren. U kunt de eigenschap Log van DataContext gebruiken om de SQL te bekijken - zie dit artikel . U kunt de queryplannen voor een query in SQL Server krijgen - zie dit artikel .

Voorbeelden van manieren om een ​​zoekopdracht te verbeteren:

  • Ontbrekende indexen toevoegen.
  • Herschrijf de query om te profiteren van de indexen die er al zijn.
  • Haal niet te veel gegevens per zoekopdracht op - gebruik paginering en haal alleen meer rijen op wanneer daarom wordt gevraagd. Haal geen velden op die u niet nodig heeft.
  • Haal niet te weinig gegevens per query op - maak geen lus waarbij één rij tegelijk wordt opgehaald. Haal veel rijen tegelijk op.

Zodra je dat hebt gedaan, profiel opnieuw om te controleren of je de prestaties van die zoekopdracht hebt verbeterd. Zo niet, herhaal dan totdat je dat wel hebt gedaan.

Profileer je vervolgens opnieuw om te zien wat de volgende killer-query is en herhaal het proces totdat je prestatie acceptabel is.

Je zegt dat je al een profiel hebt gemaakt, maar je hebt geen profileringsinformatie gepost, zoals zoekopdrachten, zoekopdrachtplannen, uitvoeringstijden, zoekopdrachtfrequentie, enz. Zonder meer profileringsinformatie kunnen we alleen maar raden.



  1. SSIS-zelfstudie voor beginners:waarom, wat en hoe?

  2. Maak en importeer mysql-database op gedeelde host in php

  3. Prestaties van MySQL-query's afstemmen

  4. SQL - Hoe haakjes te ontsnappen in PostgreSQL