If you see a comment like “X is a bad idea” this does not mean “some mechanism that is vaguely ‘not X’ is a good idea”.
If, for example, I say:
- “Histograms will not work well on character strings that are more than 32 bytes long and generally similar in the first 32 bytes”
that is absolutely not the same as saying
- “It’s a good idea to create histograms on character strings that are less than 32 bytes long.”
If this were a purely mathematical world we could invoke symbolic logic and point out:
(A => B) <=> (¬B => ¬A)
which means my statement is equivalent to:
- if you have a histogram that is working well then the data is not character strings of more than 32 bytes with generally similar values in the first 32 bytes”
Of course, being Oracle, you may find that someone, somewhere, has exactly such a histogram that appears to work brilliantly for them – but that will be because the optimizer has messed up the arithmetic so much that they are getting a great execution plan for completely the wrong reason … so they need to watch out for the next upgrade or patch release in case the optimizer gets enhanced.