Запрос NHibernate для неключевого ключа требует больше времени для гидратации объектов, чем запрос к первичному ключу с одним столбцом - PullRequest
1 голос
/ 16 декабря 2011

Я заметил странное поведение с NHibernate.

Контекст: у меня есть таблица с составным ключом (число, строка и дата) и несколько других столбцов.Я заметил, что запрос к этой таблице (класс гибернации) был значительно медленнее, чем запросы к другим таблицам.даже если возвращена только одна запись (объект гибернации).

Наблюдение:

  1. Суррогатный ключ был введен и отображен в качестве первичного ключа, повторный запуск запроса привел кта же производительность, что и ранее для Object Hydration.
  2. Увлажнение объекта было в 6-7 раз быстрее, если запрашивать суррогатный ключ.2.

Во всех приведенных выше запусках запросов производительность базы данных была одинаковой.

В отображении спящего режима этой таблицы не определены ассоциации или связи.

Я не могу объяснить разницу в производительности гидратации объектов (заполнение .Net Objects данными).

Что я могу сделать, чтобы настроить код так же быстро, как запрос с использованием PK, когда у меня естьиспользовать другой столбец в критериях.

Заранее спасибо

Киран

РЕДАКТИРОВАТЬ: Структура таблицы .. Я вставил сам скрипт создания таблицы .. как я былне в состоянии правильно отформатировать ..

СОЗДАТЬ ТАБЛИЦУ "ТЕСТ" ("ССЫЛКА" VARCHAR2 (5 БАЙТОВ) НЕ НУЛЬ, НОМЕР "ПРИОРИТЕТА" (6,0) НЕ НУЛЬ, ДАТА "EFF_FROM_DATE" НЕ НУЛЬ,ДАТА "EFF_TO_DATE" НЕ ПУСТО (NULL), "VALUE" VARCHAR2 (100 БАЙТ) НЕ ПУСТО "," LAST_UPDATE_USERNAME "VARCHAR2 (30 БАЙТ) НЕ ПУСТО," ДАТА LAST_UPDATE_DATE_TIME ", ДАТА НЕ НУЛЬ," NOTE_1 "VARCHAR2" NOTE_1_20_2_220 "20 байт))

1 Ответ

0 голосов
/ 27 декабря 2011

Это несоответствие было устранено путем принудительного использования nhibernate для использования драйвера Oracle вместо драйвера Microsoft для oracle.

Я следовал инструкциям из этого блога http://www.timvasil.com/blog14/category/Oracle.aspx

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