A system (100, 300, 1100) for evaluating a resource consumption of a query, the system comprising: one or more processors; and one or more memory devices that store program code configured to be executed by the one or more processors, the program code comprising: a logical operator determiner configured to determine a logical operator representation of a query to be executed; a physical operator determiner configured to transform the logical operator representation to two or more physical operator representations for executing the query; a resource consumption evaluator configured to apply a plurality of resource consumption models (306, 308, 310, 312) trained based at least on a history of query executions to each of the physical operator representations to determine a resource consumption estimate of each of the physical operator representations; and a query plan selector configured to select a particular one of the physical operator representations based on the determined resource consumption estimates, wherein the physical operator determiner is configured to select a partition count for each of the physical operator representations prior to the resource consumption evaluator determining the resource consumption estimate of each of the physical operator representations, the partition count being selected based at least on a resource consumption estimate of a portion of each physical operator representation. one or more processors; and one or more memory devices that store program code configured to be executed by the one or more processors, the program code comprising: a logical operator determiner configured to determine a logical operator representation of a query to be executed; a physical operator determiner configured to transform the logical operator representation to two or more physical operator representations for executing the query; a resource consumption evaluator configured to apply a plurality of resource consumption models (306, 308, 310, 312) trained based at least on a history of query executions to each of the physical operator representations to determine a resource consumption estimate of each of the physical operator representations; and a query plan selector configured to select a particular one of the physical operator representations based on the determined resource consumption estimates, wherein the physical operator determiner is configured to select a partition count for each of the physical operator representations prior to the resource consumption evaluator determining the resource consumption estimate of each of the physical operator representations, the partition count being selected based at least on a resource consumption estimate of a portion of each physical operator representation. a logical operator determiner configured to determine a logical operator representation of a query to be executed; a physical operator determiner configured to transform the logical operator representation to two or more physical operator representations for executing the query; a resource consumption evaluator configured to apply a plurality of resource consumption models (306, 308, 310, 312) trained based at least on a history of query executions to each of the physical operator representations to determine a resource consumption estimate of each of the physical operator representations; and a query plan selector configured to select a particular one of the physical operator representations based on the determined resource consumption estimates, wherein the physical operator determiner is configured to select a partition count for each of the physical operator representations prior to the resource consumption evaluator determining the resource consumption estimate of each of the physical operator representations, the partition count being selected based at least on a resource consumption estimate of a portion of each physical operator representation.