1. A method for reducing query response time, the method comprising: organizing, by a computer system, data into a plurality of buckets, the data being ordered according to a dimension, each bucket including a subset of the data that corresponds to a range within the dimension; for one or more buckets in the plurality of buckets, precomputing, by the computer system, query results for one or more queries against the one or more buckets, wherein the one or more queries are determined by: monitoring incoming user queries; normalizing the user queries by removing any constraints pertaining to the dimension; and processing the normalized user queries to identify a list of top K queries that are likely to be submitted again; storing, by the computer system, the precomputed query results in a cache; receiving, by the computer system, a user query; dividing, by the computer system, the user query into a plurality of sub-queries, each sub-query corresponding to an instance of the user query that is constrained to data within a bucket in the plurality of buckets; generating a query result for the user query based on whether, for each sub-query in the plurality of sub-queries, a precomputed query result exists in the cache; and returning the query result in response to the user query.