We rely very heavily on materialized views and the query rewrite functionality in Oracle Database to be able to support the level of query performance that we have today. We end up creating a materialized view based on the query history. This results in cutting down the amount of data the users need to go through to get their result set.