摘要:
Techniques are provided to achieve performance improvements for path-based access to hierarchical data and for utilizing an extensible indexing framework. Extensible operators may be optimized by evaluating the operators using functions native to the database system instead of using functions defined through an extensible indexing mechanism. Furthermore, the database system may resolve a resource path of a query when the query is compiled, and may store the mapping of the resource path to one or more resources in a cursor for the query execution plan to avoid resolving the resource path each time the cursor is used to run the query. The cursor may be made dependent on the one or more resources to which the resource path refers at compile time. This takes advantage of the observation that the mapping of the resource path to particular resources rarely changes between evaluations of a particular query.
摘要:
Techniques are provided to achieve performance improvements for path-based access to hierarchical data and for utilizing an extensible indexing framework. Extensible operators may be optimized by evaluating the operators using functions native to the database system instead of using functions defined through an extensible indexing mechanism. Furthermore, the database system may resolve a resource path of a query when the query is compiled, and may store the mapping of the resource path to one or more resources in a cursor for the query execution plan to avoid resolving the resource path each time the cursor is used to run the query. The cursor may be made dependent on the one or more resources to which the resource path refers at compile time. This takes advantage of the observation that the mapping of the resource path to particular resources rarely changes between evaluations of a particular query.
摘要:
Techniques are provided to achieve performance improvements for path-based access to hierarchical data and for utilizing an extensible indexing framework. Extensible operators may be optimized by evaluating the operators using functions native to the database system instead of using functions defined through an extensible indexing mechanism. Furthermore, the database system may resolve a resource path of a query when the query is compiled, and may store the mapping of the resource path to one or more resources in a cursor for the query execution plan to avoid resolving the resource path each time the cursor is used to run the query. The cursor may be made dependent on the one or more resources to which the resource path refers at compile time. This takes advantage of the observation that the mapping of the resource path to particular resources rarely changes between evaluations of a particular query.
摘要:
Techniques are provided to achieve performance improvements for path-based access to hierarchical data and for utilizing an extensible indexing framework. Extensible operators may be optimized by evaluating the operators using functions native to the database system instead of using functions defined through an extensible indexing mechanism. Furthermore, the database system may resolve a resource path of a query when the query is compiled, and may store the mapping of the resource path to one or more resources in a cursor for the query execution plan to avoid resolving the resource path each time the cursor is used to run the query. The cursor may be made dependent on the one or more resources to which the resource path refers at compile time. This takes advantage of the observation that the mapping of the resource path to particular resources rarely changes between evaluations of a particular query.
摘要:
Techniques for partitioning nested tables are provided. A parent table includes a column for collection items. A nested table is created for storing items that belong to the collection items. The nested table is partitioned to create a plurality of nested table partitions. Each nested table partition is a distinct, separately stored structure within a database. How the nested table is partitioned may, or may not, be based on how the parent table is partitioned. For example, a nested table may be partitioned based on the same criteria in which the parent table is partitioned. As another example, a nested table may be partitioned, whereas the parent table is not partitioned.
摘要:
Techniques are provided for processing a database statement that includes a table function capable of parallel execution, where the input of the table function is specified in a subquery. During compilation of the database statement, a global cursor is generated for the database statement. The global cursor includes a first plan component for executing the table function and a second plan component for generating input for the table function. A “dummy” cursor is then generated. When slaves execute the table function, they call the dummy cursor for input. When a slave calls the dummy cursor for input, the dummy cursor causes a context switch back to the global cursor, so that the second plan component within the first cursor generates the input for the slave.
摘要:
Dynamic return type generation in a database system. A request is received to execute a first function. A second function is executed if the first function is defined to return data in a first type of data structure. When executed, the second function returns formatting information that indicates an arrangement of fields of data within the first type of data structure. The first function is executed to obtain a collection of data formatted according to the first type of data structure, and the collection of data is organized according to the formatting information returned by the second function.
摘要:
Techniques for partitioning nested tables are provided. A parent table includes a column for collection items. A nested table is created for storing items that belong to the collection items. The nested table is partitioned to create a plurality of nested table partitions. Each nested table partition is a distinct, separately stored structure within a database. How the nested table is partitioned may, or may not, be based on how the parent table is partitioned. For example, a nested table may be partitioned based on the same criteria in which the parent table is partitioned. As another example, a nested table may be partitioned, whereas the parent table is not partitioned.
摘要:
A database statement contains a table function. The database statement is compiled by a database statement compiler. The database statement is rewritten by replacing the table function with a replacement database statement.
摘要:
Techniques are provided for processing a database statement that includes a table function capable of parallel execution, where the input of the table function is specified in a subquery. During compilation of the database statement, a global cursor is generated for the database statement. The global cursor includes a first plan component for executing the table function and a second plan component for generating input for the table function. A “dummy” cursor is then generated. When slaves execute the table function, they call the dummy cursor for input. When a slave calls the dummy cursor for input, the dummy cursor causes a context switch back to the global cursor, so that the second plan component within the first cursor generates the input for the slave.