Domanda

Quanto le prestazioni del database overhead è coinvolti con l'utilizzo di C# e LINQ rispetto alle custom query ottimizzate caricato con più basso livello di C, sia con SQL Server 2008 backend?

Sono in particolare qui in mente un caso in cui si hanno abbastanza dati-programma intensivo e farà un aggiornamento dei dati o l'aggiornamento, almeno una volta all'schermo e avrà 50-100 utenti simultanei.

È stato utile?

Soluzione

Nella mia esperienza, la testa è il minimo, a condizione che la persona che scrive la query sa che cosa lui/lei sta facendo, e di prendere le solite precauzioni per garantire le query generate sono ottimali, che la necessaria indici sono a posto etc etc.In altre parole, il database impatto dovrebbe essere la stessa;non c'è un minimo, ma di solito trascurabile overhead sul lato app.

Detto questo...c'è una sola eccezione a questa;se una singola query genera più aggregazioni il L2S provider traduce in una query di grandi dimensioni con un sub-query per aggregato.Per una tabella di grandi dimensioni, questo può avere un significativo impatto sull'I/O db I/O costo per la query cresce grandezze per ogni nuova aggregazione nella query.

La soluzione per questo è, naturalmente, per spostare gli aggregati di stored proc o vista.Matt Warren ha qualche esempio di codice per un'alternativa query provider, il che si traduce che tipo di query in modo più efficiente.

Risorse:

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=334211

http://blogs.msdn.com/mattwar/archive/2008/07/08/linq-building-an-iqueryable-provider-part-x.aspx

Altri suggerimenti

Grazie Stu.Linea di fondo sembra essere che LINQ to SQL, probabilmente non hanno una considerevole banca dati delle prestazioni con le versioni più recenti, se si è in grado di utilizzare un compilato selezionare, e il più lento funzioni di aggiornamento, sono suscettibili di essere più veloce a meno che non si dispone di una DAVVERO forte, esperto in codifica.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top