Les insertions de session sans état de NHibernate sont lentes

Ça fait quelques jours que je suis en train de travailler sur l'amélioration de NHibernate la performance de l'Insert.

J'avais lu dans de nombreux postes (comme cette une) que stateless session pouvez insérer comme 1000~2000 enregistrements par seconde.... Mais le meilleur moment qu'il pouvait insérer 1243 dossiers de plus de 9 secondes pour moi :

var sessionFactory = new NHibernateConfiguration().CreateSessionFactory();
using (IStatelessSession statelessSession = sessionFactory.OpenStatelessSession())
{
   statelessSession.SetBatchSize(adjustmentValues.Count);

   foreach (var adj in adjustmentValues)
      statelessSession.Insert(adj);
}

La classe :

public partial class AdjustmentValue : PersistentObject, IFinancialValue
{
    public virtual double Amount { get; set; }
    public virtual bool HasManualValue { get; set; }
    public virtual bool HasScaleValue { get; set; }
    public virtual string Formula { get; set; }
    public virtual DateTime IssueDate { get; set; }

    public virtual CompanyTopic CompanyTopic { get; set; }
}

Carte de la classe :

public class AdjustmentValueMap : ClassMap<AdjustmentValue>
{
    public AdjustmentValueMap()
    {
       Id(P => P.Id);

       Map(p => p.Amount);
       Map(p => p.IssueDate);
       Map(p => p.HasManualValue);
       Map(p => p.HasScaleValue);
       Map(p => p.Formula);

       References(p => p.CompanyTopic)
           .Fetch.Join();
    }
}

Suis-je raté quelque chose?
Une idée de comment accélérer les inserts?

Les insertions de session sans état de NHibernate sont lentes

Les requêtes générées sera la même que ci-dessous :

Les insertions de session sans état de NHibernate sont lentes

source d'informationauteur Javid_p84