Utilizing encoded vector indexes for statistics in database...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C707S793000

Reexamination Certificate

active

06405187

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Technical Field
This invention generally relates to a database management system performed by computers, and more specifically relates to the optimization of structured query language (SQL) queries using an encoded vector index (EVI) to generate statistics.
2. Background Art
An index in a book facilitates locating information on a specific topic quickly and without blindly paging through the book. Database indexes provide similar benefits by providing a method to quickly locate data of interest. Without an index, a database performs a full table scan, blindly searching through every row in a database table until the target data is located. Thus, depending upon where data resides in a database table, such a scan can be a lengthy and inefficient process.
Indexed scans of database tables are more efficient than full table scans since the length of database index entries are in most cases shorter than the database table entries. Shorter entries mean that more index entries can be stored in a single computer page. Indexed scans can therefore result in a considerable reduction in the total number of computer pages that must be processed in order to locate the requested data.
While indexed scans of database tables can improve performance, the complexity of the data being scanned and of the nature of the database query still determine how effectively a query can be implemented. Different queries place differing levels of processing demands on the database in unique ways. As a result, different index types are needed to cope with a user's ever-changing workloads. One type of index is the encoded vector index (EVI), disclosed U.S. Pat. No. 5,706,495, Chadha et al., Jan. 6, 1998, Encoded-Vector Indices For Decision Support and Warehousing (hereinafter “Chadha”), which is incorporated by reference.
An encoded vector index (EVI) is a variation of the bitmap index concept. A bitmap index indicates whether a specific value exists for each row in a particular column. One bit represents each row. Thus, in the bitmap index for the value “MN” in the column “LOCATION,” the nth bit equals 1 if the nth row of the data table contains “LOCATION”=“MN,” or 0 if that row holds a value other than “MN.” An EVI serves a similar purpose, but only one index is necessary to account for all the values occurring in the column (whether they be “NY,” “MN,” or any other). So in an EVI on the “LOCATION” column, the nth position of the EVI contains a bit code that identifies the value of “LOCATION” in the nth row of the table. Thus, whereas a separate bitmap index is required to map each particular key value in a database field, only one EVI is required to represent the same information. Thus, an EVI saves computer memory by including all possible key values for a given field in one database index.
Chadha discloses a method to efficiently scan relational database information by performing bit-vector operations on EVI's, instead of performing analogous operations on the relational database table itself. However, the usage of and dependence on relational database tables has increased dramatically during the past decade, and continues to increase. Thus, new ways to use database tools, such as EVI's, are needed in order to continue to provide significant improvements in query performance; otherwise, database users will be hampered in their ability to maximize intelligent information retrieval.
DISCLOSURE OF INVENTION
According to the present invention, an apparatus and method to significantly improve performance of SQL function processing through the use of an encoded vector index (EVI) is disclosed. An EVI provides the data necessary to generate statistics that can be used in determining a best approach for performing SQL functions. Specifically, by sequentially scanning through the EVI symbol table, one can readily count the number of values in one or more database fields that match a specific criterion. The resulting count can then be used to determine, from among two or more candidate approaches, an approach to use in processing an SQL command. By processing the EVI symbol table in lieu of more traditional database indexes, and/or in lieu of the database table itself, statistics for SQL functions are generated significantly faster.
In a specific disclosed embodiment, the performance of a SELECT SQL command that identifies first and second criteria for record selection applicable to first and second database fields, is enhanced by applying the criterion for each database field to each symbol in the EVI symbol table for that database field, to arrive at a count of the number of records having values in each field that match the criterion for that field. Then, based on the results of the count, the SELECT SQL command is performed by either (a.) selecting a set of records in which the first field does or does not match the first criterion, and then selecting from or adding to this set of records, records in which the second field does or does not match the second criterion, or (b.) selecting a set of records in which the second field does or does not match the second criterion, and then selecting from or adding to this set of records, records in which the first field does or does not match the first criterion. The approach taken may be chosen based on the relative count of records matching the first criterion compared to the count of records matching the second criterion, the logical operators applied to the criteria and the logical relationship between the criteria in the SELECT SQL command.
The foregoing and other features and advantages of the invention will be apparent from the following more particular description of embodiments of the invention, as illustrated in the accompanying drawings.


REFERENCES:
patent: 5706495 (1998-01-01), Chadha et al.
patent: 5819256 (1998-10-01), Ozbutun et al.
patent: 6285994 (1999-05-01), Bui et al.
patent: 5918225 (1999-06-01), White et al.
patent: 5974408 (1999-10-01), Cohen et al.
patent: 6070164 (2000-05-01), Vagnozzi

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Utilizing encoded vector indexes for statistics in database... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Utilizing encoded vector indexes for statistics in database..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Utilizing encoded vector indexes for statistics in database... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2949258

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.