| Patent application number | Description | Published |
| 20090024568 | DATA SKEW INSENSITIVE PARALLEL JOIN SCHEME - A method for creating a joined data set from a join input data set is disclosed. The method starts by categorizing the join input data set into a high-skew data set and a low-skew data set. The low-skew data set is distributed to the plurality of CPUs using a first distribution method. The high-skew data set is distributed to the plurality of CPUs using a second distribution method. The plurality of CPUs process the high-skew data set and the low-skew data set to create the joined data set. | 01-22-2009 |
| 20090132488 | Allocation of resources for concurrent query execution via adaptive segmentation - An enterprise data warehouse or business intelligence system having a plurality of processors and memory resources. The system includes at least a database server, a workload management system, a query compiler, and a query executor. The database server configured to receive a database query from an application at a database client system. The query compiler configured to prepare the execution plan for the query and compute the number of executive server processes (ESPs) in each ESP layer of the query. The workload management system is configured to generate an affinity value, and the query executor is configured to execute the query. As disclosed herein, placement of the executive server process layers of the query onto processors of the computing system is determined using the affinity value. Other embodiments, aspects and features are also disclosed. | 05-21-2009 |
| 20100114870 | Skew-based Costing for Database Queries - One embodiment is a method that determines skew to predict costs for query plans for a database query. The method selects a query plan that accounts for the skew to evenly distribute processing load among multiple processors and then executes the query with the selected query plan. | 05-06-2010 |
| 20100191720 | Risk-premium-based database-query optimization - Embodiments of the present invention are directed to query-optimization methods and systems that employ risk premiums assigned to database operations in order to increase the robustness and reliability of the evaluation and selection of query-execution plans for executing high-level database queries. Using risk-premium estimates, selection of query-execution plans that include potentially inefficient database operations and inefficient database-operation-execution sequences, often selected by currently available query-optimization methods and systems, are avoided. | 07-29-2010 |
| 20110029508 | SELECTIVITY-BASED OPTIMIZED-QUERY-PLAN CACHING - Embodiments of the present invention partition optimized query plans into equivalence groups, each comprising one or more equivalence classes. Each equivalence group corresponds to a particular compiled, normalized, and parameterized query plan prior to optimization. Each equivalence class within an equivalence group corresponds to a different query plan corresponding to the particular compiled, normalized, and parameterized query plan represented by the equivalence group that has been optimized with respect to the selectivity of one or more predicate clauses of the query that is compiled to produce the particular compiled, normalized, and parameterized query plan. Optimized query plans are cached according to their respective equivalence groups and equivalence classes. When a query, similar to a query already compiled, optimized, and cached, is subsequently received and compiled, a selectivity for a predicate of the compiled query is computed, allowing the database management system to retrieve a cached query plan optimized for a similar query with similar selectivity. | 02-03-2011 |
| 20110055198 | SYSTEM AND METHOD FOR OPTIMIZING QUERIES - There is provided a computer-implemented method of optimizing a query. An exemplary method comprises receiving a first request from an optimizer that specifies a table, a first predicate and a first sample size, wherein the optimizer is optimizing a relational query language statement that specifies the table and the first predicate. The exemplary method also comprises generating a sample table, comprising a first subset of rows from the table, based on the request. The exemplary method also comprises selecting a second subset of rows from the sample table based on the predicate. The exemplary method additionally comprises sending a count of rows in the second subset to the optimizer. | 03-03-2011 |
| 20110055199 | JOIN ORDER OPTIMIZATION IN A QUERY OPTIMIZER FOR QUERIES WITH OUTER AND/OR SEMI JOINS - A system and method for join order optimization in a query optimizer is disclosed. The method includes receiving a query having a plurality of join operators, including at least one multi-way join between relational operators in the query tree. The join operators include at least one outer-join and/or semi-join. The multi-way-join is transformed to a multi-join operator with a plurality of join back bone children representing the relational operators. The dependencies that occur between the join back bone children are tracked. Join order validity is evaluated based on the tracked dependencies. One or more multi-join rules are applied to the multi-join operator sufficient to generate at least one join subtree when at least one join subtree is determined to have a valid join order. | 03-03-2011 |
| 20110060731 | SYSTEM AND METHOD FOR OPTIMIZING QUERIES - There is provided a computer-implemented method of optimizing a query. An exemplary method comprises determining a maximum cardinality for an operator. The query may comprise the operator. The exemplary method also comprises determining a plurality of potential implementations for the operator. The exemplary method additionally comprises generating a query plan for the query based on the maximum cardinality and the potential implementations. | 03-10-2011 |
| 20110082855 | MULTI-DIMENSIONAL ACCESS TO DATA - One embodiment includes dimensional columns of a database table that are mapped to filter columns. The filter columns are used to build an index which provides multi-dimensional access to the database table. | 04-07-2011 |