In Praise of Rules of Thumb
(It's Friday ;)).
"Rules of Thumb are ROT" - Tom Kyte says this at least once a week and I've see it recently here.
I'd take a very different stance: Rules of Thumb are essential.
For example, if you come across a large, furry animal, with big teeth, that roars - you have two options:
1) by Rule of Thumb - run away.
2) by the scentific analytical method - take a DNA sample to determine the nature of the animal and hence any further action.
The survival of the human race depended on using the ROT.
Every day we are faced with decisions that must be taken either (a) with imperfect information or (b) with a great expenditure of time/money required to obtain all the necessary information. It's Rules of Thumb (the distillation of experience) that guide our decisions in the real-life case of (a).
I've frequently been asked whether WHERE EXISTS .. or WHERE .. IN .. should be used. I can't imagine anyone would spend hours to examine the database in detail to predict which would be more efficient; the only reasonable way to find out which is better, is to try them both (yes, yes, I know there are some simple cases where the choice is obvious). So, which do you try first? The Rule of Thumb says WHERE EXISTS - because in most cases it will give satisfactory results and WHERE IN won't do any better. Sometimes it is ROT and you will have to recode.
So let's hear it for Rules of Thumb - and be prepared to be wrong sometimes (but not very often).