US 7,349,897 B2
Structured indexes on results of function applications over data
Conor J. Cunningham, Redmond, Wash. (US); Eric N. Hanson, Bellevue, Wash. (US); Milind M. Joshi, Redmond, Wash. (US); Cesar A. Galindo-Legaria, Redmond, Wash. (US); and Florian M. Waas, Seattle, Wash. (US)
Assigned to Microsoft Corporation, Redmond, Wash. (US)
Filed on Feb. 04, 2005, as Appl. No. 11/51,447.
Application 11/051447 is a division of application No. 10/795623, filed on Mar. 08, 2004.
Prior Publication US 2005/0198016 A1, Sep. 08, 2005
Int. Cl. G06F 17/30 (2006.01); G06F 17/00 (2006.01)
U.S. Cl. 707—3  [707/2; 707/4; 707/5; 707/100] 10 Claims
OG exemplary drawing
 
1. A computer-readable storage medium having stored thereon a data structure, wherein the data structure is generated by a method for querying data, comprising:
a first data field containing an object; and
a second data field containing data associated with the object, the data being derived from a functional invocation over the data, the functional invocation comprising a table valued function, wherein the method for querying data comprises:
receiving an indexed view for the functional invocation,
determining if the query is satisfied by the index view by determining if the query matches the index view;
applying the indexed view as an index to the functional invocation over the data if the query is satisfied by the index view;
introducing a back-join to the indexed view;
applying the indexed view as an index to the functional invocation over the data if the query cannot be satisfied by the index view; and
determining and storing a query result using the index to the functional invocation over the data, wherein determining the query result comprises performing an unnesting operation on nested data, further wherein the unnesting operation is a cross apply unnest operation, and further wherein the indexed view is a generalization of a plurality of partial indexes.