NHibernate在FindAll(条件)查询中表现迟缓

时间:2011-05-25 17:19:30

标签: performance nhibernate

我有一个非常简单的映射文件(见下文)和一个简单的类。

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" 
                   namespace="Domain" default-access="field.camelcase-underscore" 
                   default-lazy="true">
    <class name="PricePropStateView" table="V_PRICE_PROP_STATES">
        <id name="PriceId"                   column="PRICE_ID"           type="long" />
        <property name="DetailId"            column="DETAILS_ID"         type="long" />
        <property name="Moe"                    column="MOE"                    type="string" />
        <property name="PropId"                 column="PROP_ID"                type="long" />
        <property name="PoQteId"                column="PO_QTE_ID"              type="string" />
        <property name="PoLineItemId"           column="LINE_ITEM_ID"           type="string" />
        <property name="PropState"              column="PROP_STATE"             type="string" />
    </class>
</hibernate-mapping>

该类表示由Oracle中的View返回的数据集。表现非常缓慢。在Toad for Oracle中执行时,结果集会在不到一秒的时间内返回。使用时

 DetachedCriteria criteria =
     DetachedCriteria.For<PricePropStateView>()
     .Add(Restrictions.Eq("PoQteId", aQuoteName));

 return FindAll(criteria).ToList();

很慢......差不多29秒。任何想法&gt;感谢

0 个答案:

没有答案