2017-08-09 4 views
0

where句とorder by句は、インデックスが直接WHERE句に適用されるので、where句の部分集合でなければならないことにより、その順序によってインデックスと順序を使用する場合Oracleは索引付けOrder By節を使用するときにインデックスを強制するにはどうすればよいですか?

INNER JOIN ORG_ACCOUNTING_PERIODS p 
ON p.ORG_ROADMARK = c.ORG_ROADMARK 
AND p.ACCOUNTING_PERIOD = c.SERVICE_PERIOD 
     where (c.ORG_ROADMARK =:roadMark) 
     and c.ORG_ROADMARK = c.move_road 
     ORDER BY EVENT_DATETIME; 
+2

を追加します。 –

答えて

0

を識別しなかった異なります。

だから、我々は助けるためにあなたのテーブル、インデックス、統計などについて多くの詳細を知っている必要があるだろう--->

INNER JOIN ORG_ACCOUNTING_PERIODS p ON p.ORG_ROADMARK = c.ORG_ROADMARK AND p.ACCOUNTING_PERIOD = c.SERVICE_PERIOD 
     where (c.ORG_ROADMARK =:roadMark) 
     and c.ORG_ROADMARK = c.move_road   
     and c.EVENT_DATETIME between :eventFrom AND :eventTo 
     ORDER BY EVENT_DATETIME ; 

create index --> `CREATE INDEX "CARHIRE_EVENTS_IX" ON "CARHIRE_EVENTS" ("EVENT_DATETIME", "MOVE_ROAD", "ORG_ROADMARK") ;` 
関連する問題