Relational database scalar subquery optimization -> Monitor Keywords
Fresh Patents
Monitor Patents Patent Organizer File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations
site info Site News  |  monitor Monitor Keywords  |  monitor archive Monitor Archive  |  organizer Organizer  |  account info Account Info  |  
07/19/07 - USPTO Class 707 |  44 views | #20070168324 | Prev - Next | About this Page  707 rss/xml feed  monitor keywords

Relational database scalar subquery optimization

USPTO Application #: 20070168324
Title: Relational database scalar subquery optimization
Abstract: When two or more scalar subtrees in an execution plan are directed towards the same data set, but request different data from the data set, the two subtrees are replaced in the execution plan with a new subtree which queries the data set only once. This new query to the data set covers all data required by the different subtrees. A pivoting step then is used to separate the data which would have been sought by each subtree. The pivoting step also yields data in the same form as would have resulted from the original subtrees. (end of abstract)



Agent: Woodcock Washburn LLP (microsoft Corporation) - Philadelphia, PA, US
Inventors: Torsten Walther Grabs, Adrian Sorin Baras, Cesar A. Galindo-Legaria
USPTO Applicaton #: 20070168324 - Class: 707002000 (USPTO)

Related Patent Categories: Data Processing: Database And File Management Or Data Structures, Database Or File Accessing, Access Augmentation Or Optimizing

Relational database scalar subquery optimization description/claims


The Patent Description & Claims data below is from USPTO Patent Application 20070168324, Relational database scalar subquery optimization.

Brief Patent Description - Full Patent Description - Patent Application Claims
  monitor keywords

BACKGROUND

[0001] In conventional databases, an incoming query is typically received and manipulated by a database front end prior to being submitted to a query processor for optimization and execution. Generally, the database front end uses the incoming query to generate a query plan for executing the query at the query processor. The query plan is then used to generate an execution plan which is used to execute the incoming query.

[0002] Some relational databases generate an execution plan as follows. First, the query is parsed to yield an abstract syntax tree. The abstract syntax tree is then transformed into a unified tree structure in which nodes represent abstract operations to be performed on the query. An algebrizer is then employed to convert the unified tree operations into relational algebraic expressions in a logical operator (log-op) tree. The log-op tree represents the resulting query plan. Query optimization is used to optimize the performance of the query plan, which is then ready for execution.

[0003] A recent development with respect to databases is that, in addition to supporting traditional relational data, the databases also support extensible markup language (XML) data. For example, SQL Server.TM. from Microsoft Corp. of Redmond, Wash. enables data to be defined using an XML data type. Columns with such an XML data type can be created in a data table, and XML variables and parameters can be declared. Such XML data can be searched, retrieved, and updated. Specifically, a query may include an XML expression written in an XML based query language such as XQuery and XSLT.

[0004] While relational database systems can include functionality to store XML data, a limitation of conventional databases is in the retrieval of the XML data. The plans derived from XML-related queries tend to be complex even for simple tasks, such as retrieving several scalar values from a set of XML documents. For example, consider a set of XML documents containing information regarding a number of persons, with two name elements for each person, "firstname" and "lastname." A plan derived from a query requesting that the firstname and lastname be retrieved for each person in the XML documents would require each XML document to be accessed twice, once to retrieve the firstname for each person, and once to retrieve the lastname. This redundant opening is costly if performed for many scalar values on many XML documents. The work to process an XML-query grows in proportion to the number of scalar values to be retrieved and in proportion to the number of XML documents to be accessed by the query.

[0005] Thus, there is a need in the art for systems and methods for more efficiently processing relational database queries which access XML data.

SUMMARY

[0006] The present invention is directed to systems and methods for more efficiently processing relational database queries which access extensible markup language (XML) data. According to some embodiments of the invention, a query plan generated for a query including an XML expression is examined in order to identify work common among a set of subqueries. A substitute subquery is crafted as a replacement. Additional relational query plan operators are crafted into the substitute subquery to implement the residual work that differentiates the original subqueries.

[0007] Additional features and advantages of the invention will be made apparent from the following detailed description of illustrative embodiments that proceeds with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The illustrative embodiments will be better understood after reading the following detailed description with reference to the appended drawings, in which:

[0009] FIG. 1 is a block diagram of an exemplary query processing environment according to some embodiments of the invention;

[0010] FIG. 2 is a block diagram of an exemplary database front end according to some embodiments of the invention;

[0011] FIG. 3 is a block diagram of an exemplary database system in accordance with the present invention;

[0012] FIG. 4 is a block diagram of a query tree;

[0013] FIG. 5 is a flow diagram illustrating a method for optimizing a query tree according to some embodiments of the invention;

[0014] FIG. 6 is a block diagram of the query tree after optimization according to some embodiments of the invention;

[0015] FIG. 7 is a flow diagram illustrating the operation of a database front end according to some embodiments of the invention;

[0016] FIG. 8 is a block diagram showing an optimizer according to one embodiment of the invention;

[0017] FIG. 9 is a block diagram representing an exemplary network environment having a variety of computing devices in which the present invention may be implemented; and

[0018] FIG. 10 is a block diagram representing an exemplary computing device in which the present invention may be implemented.

DETAILED DESCRIPTION

[0019] The subject matter of the present invention is described with specificity to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or elements similar to the ones described in this document, in conjunction with other present or future technologies.

Query Processing Environment

Continue reading about Relational database scalar subquery optimization...
Full patent description for Relational database scalar subquery optimization

Brief Patent Description - Full Patent Description - Patent Application Claims

Click on the above for other options relating to this Relational database scalar subquery optimization patent application.
###
monitor keywords

How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Relational database scalar subquery optimization or other areas of interest.
###


Previous Patent Application:
Parent-child query indexing for xml databases
Next Patent Application:
System and method for workflow processing using a portable knowledge format
Industry Class:
Data processing: database and file management or data structures

###

FreshPatents.com Support
Thank you for viewing the Relational database scalar subquery optimization patent info.
IP-related news and info


Results in 0.11639 seconds


Other interesting Feshpatents.com categories:
Software:  Finance AI Databases Development Document Navigation Error 174
filepatents (1K)

* Protect your Inventions
* US Patent Office filing
patentexpress PATENT INFO