Method and apparatus for using incompatible types of indexes to process a single query
First Claim
1. A method of processing a query that specifies data stored in a computer system, the method comprising the steps of:
- accessing a first index based on the query to produce a first result having a first format;
accessing a second index based on the query to produce a second result having a second format;
converting the first result into a converted result having the second format;
combining the converted result and the second result into an end result; and
using the end result to locate data that satisfies the query.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for processing a query combines the use of different index types to minimize the rows of data that need to be retrieved from a table. A first index is accessed based on a query to produce a first result having a first format, for example a bitmap index outputting a bitmap. A second index, for example a B-tree index, is also accessed based on the query to produce a second result having a second format, for example a sequence of rowids. The first result is converted to a converted result having the second format, and the converted result and the second result are combined to obtain an end result. The end result can then be used to locate data that satisfies the query while minimizing the rows of data that need to be retrieved from a table during the query processing.
-
Citations
10 Claims
-
1. A method of processing a query that specifies data stored in a computer system, the method comprising the steps of:
-
accessing a first index based on the query to produce a first result having a first format; accessing a second index based on the query to produce a second result having a second format; converting the first result into a converted result having the second format; combining the converted result and the second result into an end result; and using the end result to locate data that satisfies the query. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of processing a query that specifies data stored in a computer system, the method comprising the steps of:
-
A) determining a first cost of a first execution path that includes the steps of; A1) accessing a first index based on the query to produce a first result having a first format, A2) accessing a second index based on the query to produce a second result having a second format, A3) converting the first result into a converted result having the second format, A4) combining the converted result and the second result into an end result, and A5) using the end result to locate data that satisfies the query. B) determining a second cost of a second execution path that includes the steps of; B1) accessing the first index based on the query to produce a first result having a first format, B2) using the first result to locate data that satisfies the query without accessing the second index, C) selecting a selected execution path from among a set of execution paths that include the first execution path and the second execution path, and D) executing the selected execution path. - View Dependent Claims (8)
-
-
9. A database system comprising:
-
a database storing stored data, a first index of the stored data and a second index of the stored data; and a database server for processing a query by; accessing the first index based on the query to produce a first result having a first format; accessing the second index based on the query to produce a second result having a second format; converting the first result into a converted result having the second format; combining the converted result and the second result into an end result; and
using the end result to locate data from said database that satisfies the query. - View Dependent Claims (10)
-
Specification