Ответ 1
По-видимому, замедление было вызвано вызовом SetParameterList. Когда я отформатирую SQL, прежде чем я получу что-то по строкам базы данных 8ms и экземпляра 485ms, что приемлемо. Я хотел бы иметь что-то более быстрое, но это будет делать сейчас.
Вот код, который я сейчас использую:
var sql =
String.Format(
@"select circt_id as CircuitId from normal_upstream
where dni_equip_type = 'FDR_OCR'
start with up_equip_stn_no in ({0})
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 ({0})",
String.Join(",",upstreamStations.Select(x=>"'"+x+"'").ToArray()));
var criteria =
GetSession().CreateSQLQuery(sql)
.AddScalar("CircuitId", NHibernateUtil.Int32)
.List();
return criteria;