J'ai cette requête qui retourne 7 lignes et prend 4ms dans la base de données mais 1075ms à instancier. Ce n'est qu'un exemple des temps et cela varie selon les objets, mais il ne semble pas logique que cela prenne autant de temps. Des conseils sur la façon d'augmenter la vitesse?La liste <int> prend beaucoup de temps à instancier avec Nhibernate Criteria
var criteria =
GetSession().CreateSQLQuery(
@"
select circt_id as CircuitId from normal_upstream
where dni_equip_type = 'A'
start with up_equip_stn_no in (:UpStationNo1)
connect by prior equip_stn_no = up_equip_stn_no
union
select circt_id as CircuitId
from normal_upstream
where up_equip_stn_no in (:UpStationNo1)")
.AddScalar("CircuitId", NHibernateUtil.Int32).SetParameterList("UpStationNo1",upstreamStations)
.List<int>()
requête SQL généré
select
circt_id as CircuitId
from normal_upstream
where dni_equip_type = 'A'
start with up_equip_stn_no in (
'B' /* :p0 */)
connect by prior equip_stn_no = up_equip_stn_no
union
select
circt_id as CircuitId
from normal_upstream
where up_equip_stn_no in (
'B' /* :p1 */)
Toute aide est appréciée. Merci
Faut-il cette longue chaque fois qu'il est exécuté ou tout simplement la première fois? Quel générateur de code octet utilisez-vous? – jonnii
@jonnii, Cela prend du temps à chaque fois. Le code d'octet est également NHibernate.ByteCode.Castle. – Gage
@Gage ce qui se passe si vous le changez en renvoyant un IEnumerable au lieu de IEnumerable et utilisez List()? –
jonnii