Generating estimates for query optimization
First Claim
1. A method comprising:
- estimating a number of rows that would be processed by each of one or more execution plans for a query based at least in part on a particular density model that approximates a weighted combination of at least a first density model for a first portion of a set of data and a second density model for a second portion of the set of data;
based at least in part on the number of rows estimated for said each of one or more execution plans for the query, selecting an execution plan for the query;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Processes, machines, and stored machine instructions are provided for estimating how many rows would be processed by a query. In one embodiment, model aggregating logic may generate a global model based on separate models for separate portions of a set of data. For example, the separate portions may be assigned to separate partitions of the set of data based at least in part on key values in the separate portions. Generating the global model may include generating an uncompressed model that includes components of the separate models before generating a compressed model to estimate the uncompressed model. Query analysis logic may use the global model to estimate how many rows would be processed by queries that, when executed, would access portion(s) of the set of data.
-
Citations
24 Claims
-
1. A method comprising:
-
estimating a number of rows that would be processed by each of one or more execution plans for a query based at least in part on a particular density model that approximates a weighted combination of at least a first density model for a first portion of a set of data and a second density model for a second portion of the set of data; based at least in part on the number of rows estimated for said each of one or more execution plans for the query, selecting an execution plan for the query; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. One or more non-transitory storage media storing sequences of instructions which, when executed by one or more computing devices, cause:
-
estimating a number of rows that would be processed by each of one or more execution plans for a query based at least in part on a particular density model that approximates a weighted combination of at least a first density model for a first portion of a set of data and a second density model for a second portion of the set of data; based at least in part on the number of rows estimated for said each of one or more execution plans for the query, selecting an execution plan for the query. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification