1. A method, comprising: receiving, at a computer system in a computer network, information regarding multiple data attributes associated with an application; analyzing, by the computer system, the data attributes to determine cardinality information of the data attributes; predicting, by the computer system and based at least in part on a set of queries received at the computer system, a set of the data attributes to be requested in the future; generating, by the computer system and based at least in part on the cardinality information and the set of the data attributes, multiple tables, wherein different tables have different subsets of the data attributes as columns of the tables, wherein the multiple tables include a first table and a second table, wherein the first table and the second table both contain at least some common columns; receiving, at the computer system and from an entity, a query having a plurality of query parameters; selecting, by the computer system, one of the multiple tables in a storage system to obtain query results from, wherein selecting the one of the multiple tables includes: analyzing the multiple tables to determine a prefix of each of the multiple tables, and selecting a specified table of the multiple tables that has a longest common prefix with the query parameters, the longest common prefix being one of the determined prefixes containing a longest sequence of a plurality of leading columns that matches with a portion of the query parameters; and obtaining, in response to the query, the query results from the specified table.