Domanda

Ho un'applicazione .NET che è la fusione di due DataTable con un sacco di righe (10.000). C'è una buona probabilità di avere un gran numero di aggiornamento / inserti per eseguire alla tabella di SQL quando si utilizza il comando DataAdapter.Update.

In questo momento, ho l'insieme di proprietà Adapter UpdateBatchSize a 200. VS mette in guardia contro l'impostazione di questo valore troppo alto perché può ridurre le prestazioni. Ok, Gotcha.

Performance saggio, che cosa devo cercare quando si imposta questa proprietà? Non importa cosa, l'aggiornamento un sacco di righe prenderanno un po 'di tempo. L'esecuzione sulla mia macchina (o sul server DB) non -seem- prendere così tanto tempo, ma sono sicuro che quando il sistema è caricato verso il basso facendo altri elementi, questo può essere un problema.

C'è qualcosa che posso cercare in Profiler? Facendo un profilazione standard, la durata è di solito 0. A volte colpisce è 1 o 2 (forse 20 volte complessivamente) e di circa 20.000 aggiornamenti, 3-4 ha colpito 20. CPU è a 0 tranne che per l'una coppia che ha colpito 1-2 . Ci sono 2 record che vanno fino a circa 10. Legge sono sempre 2 e scrive sempre 0.

È stato utile?

Soluzione

La prima cosa è che vorrei fare questa impostazione configurabile in modo da poter testare diversi valori senza compilare. La prossima cosa è quello di guardare la durata di tutto il lotto. Se il vostro soddisfatto delle prestazioni non cambiarlo. Se il vostro insoddisfatto delle prestazioni cercare di aumentare o diminuire l'impostazione per vedere come si comporta.

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