I have two databases on one the index I like is getting used on the other it uses a different index.
Query-
Select ...
from ...
where ...
and record_date > sysdate - 10
order by upper(name)
I have a FBI on name and another index on record_date.
In one database
(lets call it Database1) the query uses the date index
(on the other Database2) it uses the FBI.
Infact it seems to like the FBI on the second database most of the time ; even when the query changes to have a different filter condition that is indexed.
The dataset is identical
Both database were analyzed.
Both have same init parameters
Database 1 is on 9.2.0.1
Database 2 on 9.2.0.5
ALTER SESSION SET "_SORT_ELIMINATION_COST_RATIO"=5.
-- The above statement directs the CBO to consider a plan with ORDER BY sort elimination as long as the plan is no more expensive than 5 times the cost of the best known plan (that uses sort).
-- The parameter can be set to any non-negative integer.
Bookmarks