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 ヒント構文を使用しないと、動作が大幅に遅くなります。
クエリに Oracle ヒントを追加するように NHibernate に指示することは可能ですか?
ありがとう!