摘要:
A method and apparatus for automatically analyzing and providing feedback regarding the optimizability of a relational database query. A query developer's primary goal is to ensure that queries and DML operations are rewritten for the most efficient execution. Rewrite diagnosability captures metadata for each attempted query optimization including success or failure and the reasons for failure. The metadata is stored in association with the operators that were not removed through rewriting. Once all optimizations have been attempted and rewriting is complete, the metadata is selectively displayed based on the cost to perform the associated operation. The context of performing the operation may affect the cost. The cost may be based at least on the type of operation and where within the query tree the operation is located. A query developer may configure the database system not to execute the resulting query plan based on one or more criteria.
摘要:
A method and apparatus for automatically analyzing and providing feedback regarding the optimizability of a relational database query. A query developer's primary goal is to ensure that queries and DML operations are rewritten for the most efficient execution. Rewrite diagnosability captures metadata for each attempted query optimization including success or failure and the reasons for failure. The metadata is stored in association with the operators that were not removed through rewriting. Once all optimizations have been attempted and rewriting is complete, the metadata is selectively displayed based on the cost to perform the associated operation. The context of performing the operation may affect the cost. The cost may be based at least on the type of operation and where within the query tree the operation is located. A query developer may configure the database system not to execute the resulting query plan based on one or more criteria.
摘要:
Techniques and approaches are provided for creating indexes and column constraints on structured XML data that is stored in a relational database. Data Definition Language (DDL) Create Index and Create Constraint commands have extended syntax that allows the specification of a path-based expression instead of requiring a column and table name. A mapping created by the system when an XML Schema is registered stores the correspondence of XML data elements to automatically-created database tables and columns that are given names only useful for the internal system. When a user provides a path-based expression in a DDL when creating an index or constraint, the path-based expression is translated to the underlying database constructs using the mapping. Issues are addressed for handling path-based expressions that evaluate to more than one element. Additional index optimization is described using data type information available in the XML schema to select the optimal index type.
摘要:
Techniques and approaches are provided for creating indexes and column constraints on structured XML data that is stored in a relational database. Data Definition Language (DDL) Create Index and Create Constraint commands have extended syntax that allows the specification of a path-based expression instead of requiring a column and table name. A mapping created by the system when an XML Schema is registered stores the correspondence of XML data elements to automatically-created database tables and columns that are given names only useful for the internal system. When a user provides a path-based expression in a DDL when creating an index or constraint, the path-based expression is translated to the underlying database constructs using the mapping. Issues are addressed for handling path-based expressions that evaluate to more than one element. Additional index optimization is described using data type information available in the XML schema to select the optimal index type.
摘要:
Techniques for determining whether an XML query may be written are provided. In one scenario, an XML query includes an expandable path, which is a path expression that includes a wildcard character (*) or a descendant axis (//). An XML schema is used to generate multiple expanded paths (each of which is a simple path expression) from the expandable path. The XML schema is used to compare each expanded path to another expanded path and to determine whether the nodes identified by the respective expanded paths are guaranteed to occur in a particular order in XML documents that conform to the XML schema. In another scenario, an XML query includes an order operator that takes two paths as input. Similarly, an XML schema is used to compare the two paths and to determine whether the nodes identified by the two paths are guaranteed to occur in a particular order in XML documents that conform to the XML schema.
摘要:
Techniques for determining whether an XML query may be written are provided. In one scenario, an XML query includes an expandable path, which is a path expression that includes a wildcard character (*) or a descendant axis (//). An XML schema is used to generate multiple expanded paths (each of which is a simple path expression) from the expandable path. The XML schema is used to compare each expanded path to another expanded path and to determine whether the nodes identified by the respective expanded paths are guaranteed to occur in a particular order in XML documents that conform to the XML schema. In another scenario, an XML query includes an order operator that takes two paths as input. Similarly, an XML schema is used to compare the two paths and to determine whether the nodes identified by the two paths are guaranteed to occur in a particular order in XML documents that conform to the XML schema.