← Back to Patent Explorer
US6606618B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Method for optimizing the performance of a database

Assignee: Microsoft Technology Licensing LLC
•
Filing: 2001-02-23
•
Granted: 2003-08-12
•
Expires: 2021-02-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A relational installation database for storing data elements in the form of strings, objects, etc. is aliased with integer identifiers corresponding to each data element is disclosed. The integer identifiers are obtained from an index that sequentially stores a copy of each unique occurrences of a data element. Populating an installation database with only integers reduces persistent size and provides uniformity to the data fields underlying the database tables, and provides a significant improvement in database performance The uniform data fields may be expanded and contracted to add temporary rows and columns directly to a database table. Database tables may be created in a modular fashion and may be efficiently merged together when the software product is complete. Also, differences between various versions of the software product may be recorded in database transforms.

Inventors

  • 👤 John C. Delo

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 21:24
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/60; G06F8/61; G06F16/00; G06F16/20; G06F16/22; G06F16/24; G06F16/245; G06F16/2453; G06F16/2458; G06F16/2477; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99941; Y10S707/99942; Y10S707/99951; Y10S707/99952

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 93 words
A method for reducing the persistent size and optimizing the performance of a relational database system, comprising the computer implemented steps of: storing in an index a copy of each non-integer unique data element that would occur in a database table; sequentially assigning to each entry in the index a corresponding integer identifier; populating the database table with the corresponding integer identifier for each non-integer unique data element so that the database table uniformly contains integers; and keeping a reference count for each non-integer unique data element to control the data element's lifetime.
Claim 2
Independent Claim 93 words
A method for reducing the persistent size and optimizing the performance of a relational database system, comprising the computer implemented steps of: storing in an index a copy of each non-integer unique data element that would occur in a database table; sequentially assigning to each entry in the index a corresponding integer identifier; populating the database table with the corresponding integer identifier for each non-integer unique data element so that the database table uniformly contains integers; and keeping a reference count for each non-integer unique data element to control the data element's lifetime.
Claim 3
Dependent Claim 69 words
The method of claim 1 , further comprising the steps of: accepting a database query containing a queried data element; searching the index to determine the integer identifier corresponding to the queried data element; in response to determining the integer identifier corresponding to the queried data element, searching the database table to locate a record containing the integer identifier corresponding to the queried data element; and processing the query.
Claim 4
Dependent Claim 23 words
The method of claim 2 , wherein the index is a hashed index; and wherein searching the index comprises evaluating a hashing function.
Claim 5
Dependent Claim 68 words
The method of claim 2 , wherein the step of searching the database table comprises: creating a cursor for the database table; populating the cursor with information from the database query and the integer identifier corresponding to the queried data element; and using the populated cursor to perform a binary search on the database table, so as to identify the corresponding integer data element in the database table.
Claim 6
Dependent Claim 28 words
The method of claim 1 , further comprising the step of adding a temporary row to the database table to store integer identifiers corresponding to temporary data elements.
Claim 7
Dependent Claim 28 words
The method of claim 1 , further comprising the step of adding a temporary column to the database table to store integer identifiers corresponding to temporary data elements.
Claim 8
Dependent Claim 50 words
The method of claim 5 , further comprising the step of: modifying the integer identifiers corresponding to data elements and temporary data elements; wherein the modifications to integer identifiers corresponding to the data elements persist, but the modifications to the integer identifiers corresponding to temporary data elements do not persist.
Claim 9
Dependent Claim 13 words
A computer-readable medium having stored thereon the computer-implemented steps of claim 1 .
Claim 10
Independent Claim 104 words
A method for reducing the persistent size and optimizing the performance of a relational database system, comprising the computer implemented steps of: storing in an index a copy of each non-integer unique data element that would occur in a database table; sequentially assigning to each entry in the index an integer identifier; populating the database table with the integer identifiers corresponding to each data element; keeping a reference count for each data element to control its lifetime; and adding a temporary column to the database table to store a plurality of temporary data elements, the temporary data elements not persisting in the database table.
Claim 11
Independent Claim 104 words
A method for reducing the persistent size and optimizing the performance of a relational database system, comprising the computer implemented steps of: storing in an index a copy of each non-integer unique data element that would occur in a database table; sequentially assigning to each entry in the index an integer identifier; populating the database table with the integer identifiers corresponding to each data element; keeping a reference count for each data element to control its lifetime; and adding a temporary column to the database table to store a plurality of temporary data elements, the temporary data elements not persisting in the database table.
Claim 12
Dependent Claim 25 words
The method of claim 9 , further comprising the step of adding a temporary row to the database table to store the temporary data elements.
Claim 13
Independent Claim 141 words
A method for reducing the persistent size and optimizing the performance of a relational database system, comprising the computer implemented steps of: storing in an index a copy of each non-integer unique data element that would occur in a database table; sequentially assigning to each entry in the index an integer identifier; populating the database table with the integer identifiers corresponding to each data element; keeping the reference count for each data element to control the data element's lifetime; adding either a temporary row or a temporary column to the database table to store integer identifiers corresponding to temporary data elements; and modifying the integer identifiers corresponding to data elements and temporary data elements; wherein the modifications to integer identifiers corresponding to the data elements persist, but the modifications to the integer identifiers corresponding to temporary data elements do not persist.
Claim 14
Independent Claim 141 words
A method for reducing the persistent size and optimizing the performance of a relational database system, comprising the computer implemented steps of: storing in an index a copy of each non-integer unique data element that would occur in a database table; sequentially assigning to each entry in the index an integer identifier; populating the database table with the integer identifiers corresponding to each data element; keeping the reference count for each data element to control the data element's lifetime; adding either a temporary row or a temporary column to the database table to store integer identifiers corresponding to temporary data elements; and modifying the integer identifiers corresponding to data elements and temporary data elements; wherein the modifications to integer identifiers corresponding to the data elements persist, but the modifications to the integer identifiers corresponding to temporary data elements do not persist.
Claim 15
Dependent Claim 69 words
The method of claim 11 , further Comprising the steps of: accepting a database query containing a queried data element; searching the index to determine the integer identifier corresponding to the queried data element; in response to determining the integer identifier corresponding to the queried data element, searching the database table to locate a record containing the integer identifier corresponding to the queried data element; and processing the query.
Claim 16
Dependent Claim 23 words
The method of claim 12 , wherein the index is a hashed index, and wherein searching the index comprises evaluating a hashing function.
Claim 17
Dependent Claim 68 words
The method of claim 12 , wherein the step of searching the database table comprises; creating a cursor for the database table; populating the cursor with information from the database query and the integer identifier corresponding to the queried data element; and using the populated cursor to perform a binary search on the database table, so as to identify the corresponding integer data element in the database table.
Claim 18
Dependent Claim 153 words
A computer program product comprising a computer readable medium carrying computer executable instructions that implement a method for reducing the persistent size and optimizing the performance of a relational database system, the method comprising: storing in an index a copy of each non-integer unique data element that would occur in a database table; sequentially assigning to each entry in the index an integer identifier; populating the database table with the integer identifiers corresponding to each data element; keeping the reference count for each data element to control the data element's lifetime; adding either a temporary row or a temporary column to the database table to store integer identifiers corresponding to temporary data elements; and modifying the integer identifiers corresponding to data elements and temporary data elements; wherein the modifications to integer identifiers corresponding to the data elements persist, but the modifications to the integer identifiers corresponding to temporary data elements do not persist.
Claim 19
Dependent Claim 153 words
A computer program product comprising a computer readable medium carrying computer executable instructions that implement a method for reducing the persistent size and optimizing the performance of a relational database system, the method comprising: storing in an index a copy of each non-integer unique data element that would occur in a database table; sequentially assigning to each entry in the index an integer identifier; populating the database table with the integer identifiers corresponding to each data element; keeping the reference count for each data element to control the data element's lifetime; adding either a temporary row or a temporary column to the database table to store integer identifiers corresponding to temporary data elements; and modifying the integer identifiers corresponding to data elements and temporary data elements; wherein the modifications to integer identifiers corresponding to the data elements persist, but the modifications to the integer identifiers corresponding to temporary data elements do not persist.
Claim 20
Dependent Claim 70 words
The computer program product of claim 15 , the method further comprising: accepting a database query containing a queried data element; searching the index to determine the integer identifier corresponding to the queried data element; in response to determining the integer identifier corresponding to the queried data element, searching the database table to locate a record containing the integer identifier corresponding to the queried data element; and processing the query.
Claim 21
Dependent Claim 25 words
The computer program product of claim 16 , wherein the index is a hashed index, and wherein searching the index comprises evaluating a hashing function.
Claim 22
Dependent Claim 67 words
The computer program product of claim 16 , wherein searching the database table comprises: creating a cursor for the database table; populating the cursor with information from the database query and the integer identifier corresponding to the queried data element; and using the populated cursor to perform a binary search on the database table, so as to identify the corresponding integer data element in the database table.

References Cited (Backward Citations)

US5410704A Cited
US5752018A Cited
US5918225A Cited
US5675784A Cited
US5717924A Cited
US5864842A Cited
US5930779A Cited
US6058389A Cited
US6032151A Cited
US6044369A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-08-11 2007-02-10 2007-08-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-08-11 2011-02-10 2011-08-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-08-11 2015-02-10 2015-08-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag