HI,
Oracle have to make “better” relation between histogram and indexes, actually need some kind of new index,
index that not include rows in index if values of rows have bad selectivity, just ignore that rows like what it is doing with NULL value.
Index will be “smaller and faster”.
We can do it with functional index, but this "feature of index" will be "built in feature".
example:
- Index on column status
- Status possible has 2 values ('Y', 'N')
- 95% of the row has status 'Y'
During index creation or rebuild the rows with value 'Y' simply should be ignored , WILL NOT BE INCLUDED IN INDEX, the same way the 'NULL' is "ignored" by index.