1
NHibernate (SQL Server 2000, 문제가있는 경우)에 문제가 있습니다. 그것은 NHibernate에 보인다NHibernate : 일괄 처리 크기가 10 개로 제한됩니까?
내가 500을 지정해도 10와 동일한 배치 크기를 사용합니다 (그러나 나는 10 이하의 크기를 지정하는 경우, 3 말 - 그것은 3 사용)
<bag name="RiskTypes" table="CalculationQuery" lazy="false" batch-size="50">
<key column="CalculationID"></key>
<many-to-many class="RiskType" column="RiskType"></many-to-many>
</bag>
내가 11 개 항목을로드하고 있어요 이 두 개의 쿼리를 실행하는 NHProf에서 볼 : 그것은 너무 늦게 당신에게 있다면
SELECT risktypes0_.CalculationID as Calculat1_1_, risktypes0_.RiskType as RiskType1_, risktype1_.RiskTypeID as RiskTypeID5_0_, risktype1_.RiskTypeName as RiskType2_5_0_ FROM CalculationQuery risktypes0_ left outer join RiskType risktype1_ on risktypes0_.RiskType = risktype1_.RiskTypeID WHERE risktypes0_.CalculationID in (373 /* @p0 */,363 /* @p1 */,364 /* @p2 */,365 /* @p3 */, 366 /* @p4 */,367 /* @p5 */,368 /* @p6 */,369 /* @p7 */, 370 /* @p8 */,371 /* @p9 */)
SELECT risktypes0_.CalculationID as Calculat1_1_, risktypes0_.RiskType as RiskType1_, risktype1_.RiskTypeID as RiskTypeID5_0_, risktype1_.RiskTypeName as RiskType2_5_0_ FROM CalculationQuery risktypes0_ left outer join RiskType risktype1_ on risktypes0_.RiskType = risktype1_.RiskTypeID WHERE risktypes0_.CalculationID = 372 /* @p0 */