У меня есть таблица с более чем 10 000 000 строк.
В TOAD этот запрос очень хорошо работает:
select /*+ INDEX(x IDX_CASHFLOW_COMPLEX)*/ *
from MYPR.CASHFLOW x
where fk_debet in (21856, 21854, 21855)
IDX_CASHFLOW_COMPLEX - индекс для 5 столбцов, созданный с помощью следующего сценария:
CREATE INDEX MYPR.IDX_CASHFLOW_COMPLEX ON MYPR.CASHFLOW
(FK_DEBIT, FK_CREDIT, FK_DOCUMENT, PAYMENTDATE, FK_PAYMENTCODE)
LOGGING
TABLESPACE INDX
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
NOPARALLEL;
Аналогичный запрос, но без синтаксиса подсказок Oracle работает значительно медленнее!
Не могли бы вы предложить, можно ли указать NHibernate добавить подсказку Oracle в запросе?
Спасибо!