Progressive indexing for improved ad-hoc query performance
First Claim
1. A method of enhancing query performance of ad-hoc queries executed on data stored in a database, comprisingexecuting an ad-hoc query on said data in said database;
- traversing a first subset of said data in said database during said executing said ad-hoc query;
indexing categories of content of said data in said first subset during said traversing to create a first partial index of said categories of data content of said first subset; and
repeating said foregoing steps while traversing a second subset of data in said database to create a second partial index of the categories of data content of said second subset of data;
wherein said first and second partial indexes progressively index said database to reduce the amount of data traversed and the execution time of subsequent ad-hoc queries executed on said database.
8 Assignments
0 Petitions
Accused Products
Abstract
The invention progressively indexes a database by building partial indexes over subsets of the data are built as the data is scanned, i.e., traversed, during execution of ad-hoc queries. Indexes are built as ad-hoc queries “touch” the data. This permits ad-hoc queries to utilize partial indexes built by other ad-hoc queries. If an ad-hoc query scans more data during execution than was previously indexed, the ad-hoc query will utilize the existing partial indexes to the extent they are relevant while adding to them or building additional partial indexes as the query executes.
-
Citations
20 Claims
-
1. A method of enhancing query performance of ad-hoc queries executed on data stored in a database, comprising
executing an ad-hoc query on said data in said database; -
traversing a first subset of said data in said database during said executing said ad-hoc query; indexing categories of content of said data in said first subset during said traversing to create a first partial index of said categories of data content of said first subset; and repeating said foregoing steps while traversing a second subset of data in said database to create a second partial index of the categories of data content of said second subset of data; wherein said first and second partial indexes progressively index said database to reduce the amount of data traversed and the execution time of subsequent ad-hoc queries executed on said database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of enhancing query performance of ad-hoc queries executed on data stored in a database, comprising:
-
executing an ad-hoc query on said data in said database; indexing categories of data content of subsets of said data stored in said database while traversing said data content during said executing said ad-hoc query to create one or more partial indexes of said categories of data content of one or more of said subsets of the data, and repeating said executing and indexing to progressively build on said partial indexes of said categories of data content while executing one or more ad-hoc queries on said data. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. Non-transitory computable readable media storing executable instructions for controlling the operation of a computer to:
-
execute an ad-hoc query on data in a database; traverse a first subset of said data in said database during executing said ad-hoc query; index categories of the content of said data in said first subset during traversing the first subset to create a first partial index of said categories of the content of said data of said first subset; repeat said foregoing steps while traversing a second subset of data in said database to create a second partial index of categories of the data content of said second subset of data; and wherein said first and second partial indexes progressively index said database to reduce the amount of data traversed and the execution time of subsequent ad-hoc queries executed on said database. - View Dependent Claims (17, 18, 19, 20)
-
Specification