摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
One example discloses a database management system that can comprise a memory for storing computer executable instructions and a processing unit for accessing the memory and executing the computer executable instructions. The computer executable instructions can comprise a compiler to amortize the execution resource cost of searching a search space corresponding to a received query over a plurality of searches.
摘要:
In one embodiment, a computer system comprises one or more processors, and a memory module communicatively connected to the one or more processors. The memory module comprises logic instructions stored on a computer readable medium which, when executed on the one or more processors configure the one or more processors to receive, in a hybrid caching module, database query, determine whether at least a portion of an existing execution plan stored in a memory module coupled to the hybrid caching module can be reused to implement the database query, reuse at least a portion of an existing execution plan stored in the memory module coupled to the hybrid caching module when possible, and generate a new execution plan when the memory module lacks an existing execution plan adaptable for use with the database query.
摘要:
Optimized query plans are partitioned into equivalence groups that each include 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.
摘要:
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.
摘要:
In one embodiment, a computer system comprises one or more processors, and a memory module communicatively connected to the one or more processors. The memory module comprises logic instructions stored on a computer readable medium which, when executed on the one or more processors configure the one or more processors to receive, in a hybrid caching module, database query, determine whether at least a portion of an existing execution plan stored in a memory module coupled to the hybrid caching module can be reused to implement the database query, reuse at least a portion of an existing execution plan stored in the memory module coupled to the hybrid caching module when possible, and generate a new execution plan when the memory module lacks an existing execution plan adaptable for use with the database query.
摘要:
A fault-tolerant method and system for processing global transactions in a distributed database system. If a fault occurs in the distributed database system, a transaction management system will suspend the processing of a transaction and renew it when the fault is remedied. The transaction management system identifies one or more sites in the distributed database system that contain data needed for a global transaction and divides each transaction into subtransactions for processing at one or more identified sites. If a fault occurs in the distributed database system, the transaction management system maintains the status of each subtransaction. When a fault in the distributed database system is corrected, the transaction management system updates the status of each subtransaction and restarts processing of the transactions.