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

LINQ to SQL:utilizzo eccessivo della CPU:cosa succede quando sono presenti più utenti

Profilo. Profilo. Profilo.

Profilo per scoprire esattamente quale query richiede più risorse e migliorare le prestazioni di tale query. È possibile utilizzare la proprietà Log di DataContext per visualizzare l'SQL - vedere questo articolo . È possibile ottenere i piani di query per una query in SQL Server:vedere questo articolo .

Esempi di modi per migliorare una query:

  • Aggiungi indici mancanti.
  • Riscrivi la query per sfruttare gli indici già presenti.
  • Non recuperare troppi dati per query:utilizza il paging e recupera più righe solo quando richiesto. Non recuperare i campi che non ti servono.
  • Non recuperare troppo pochi dati per query:non eseguire un ciclo per recuperare una riga alla volta. Recupera più righe contemporaneamente.

Dopo averlo fatto, profila di nuovo per verificare se hai migliorato le prestazioni di quella query. In caso contrario, ripeti finché non hai.

Quindi profila di nuovo per vedere qual è la prossima query killer e ripeti il ​​processo finché le tue prestazioni non saranno accettabili.

Dici di aver già profilato, ma non hai pubblicato alcuna informazione di profilazione come query, piani di query, tempi di esecuzione, frequenza delle query, ecc. Senza ulteriori informazioni di profilazione tutto ciò che possiamo fare è indovinare.