2009-11-02 15 views
6

NOTA: Non sto cercando la risposta da MSDN.Come si determina la dimensione del lotto ADO.NET consigliata nel mondo reale?

Come è stato possibile determinare il valore corretto della dimensione del batch di ADO.NET per il database o l'applicazione specificati? Quali fattori hanno portato alla tua decisione e che esperienza puoi condividere?

Utilizzando Fluent NHibernate, Attualmente sto usando qualcosa come:

var sessionFactory = Fluently.Configure().Database(
      MsSqlConfiguration.MsSql2005.ConnectionString(c => c.FromConnectionStringWithKey("connString")) 
      .AdoNetBatchSize(50) 
      ) 
      .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Foo>()).BuildSessionFactory(); 

Dalla mia comprensione questo raccoglierà fino a 50 affermazioni in un momento prima di inviarli attraverso l'oggetto connessione al server per l'elaborazione.

risposta

0

Non è necessario impostare questo valore. Lascialo girare con il default. Importa davvero solo se le tue query restituiscono enormi quantità di dati, ad es. BLOB: in tal caso, scegli una bassa dimensione del lotto ~ 10-20. Per gli usi normali, basta lasciarlo fuori. Non ho mai dovuto impostarlo e tutte le mie app sono state super veloci.

+0

lol super-veloce? :) quanto veloce? – IamStalker

Problemi correlati