Вялая производительность NHibernate в запросе FindAll (критерии) - PullRequest
2 голосов
/ 25 мая 2011

У меня есть очень простой файл сопоставления (см. Ниже) и простой класс.

<?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.Производительность очень медленная.При выполнении в Toad for Oracle набор результатов возвращается менее чем за секунду.При использовании

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

 return FindAll(criteria).ToList();

Это очень медленно ... почти 29 секунд.Любые идеи> Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...