2009-10-06 3 views
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 */ 

답변

1

미안하지만 다른 사람이 유용 할 수 있습니다 : 나는 NHibernate에 CFG의 paramete를 언급 다른 포스트 (Batch Update in NHibernate를) 발견 배치 크기를 정의하려면