I've got a oracle MV with 100+ million rows. Much of the our code calls against this view, so I would like to keep the syntax intact and make sure these calls are very fast.
Because of business logic I know that less than 1 million rows would be enough to answer 99%+ of all calls. Say these million rows are in partition 1. I wonder:
- Did Oracle (probably) find that out by itself and usually returns cached results instead of actually scanning the table?
- Can I tell Oracle to always check first partition first and then go by whatever it likes to continue.
- Can I do any else?
If (1) is the case, then I guess we are as fast as we can be. Else how could I make (2) work? or is there any (3) that I did not think about yet?
Can you help out? Greetings, Peter