I am having a problem with getting the full use of composite indexes. This is a very large OLTP database with about 1 billion rows partitoned by day (about 4 million a day) A typical query includes several range queries. The columns typically contain very large number of distinct fields and are histogramed. Several composite indexes have been built and the statistics are up to date. Predominantly one table is queried against and 75 columns are returning for each of the 100 to 100k records. A typical composite index will include for example (min_value, max_value) called INDEX_MIN_MAX. A typical query will include in the where clause (min_value >= 2900.0) and (max_value <= 3000.0); In the explain plan my composite index will usually be used but in the predicate information the access will show (min_value >= 2900.0) with a filter (max_value <=3000.0). I would expect both min_value and max_value expression to be used in the access. Because of this access statement, the number of rows estimated and accessed is much larger than it should be if it used both values. I appreciate any thoughts.