Patent ID: 6173278
Filing Date: 2001-01-09
Classification: G06F,Y10S

Abstract:
A method for utilizing an index of a relational database table in which the index is structured in levels and wherein each row of said table is identified by a respective row identifier (RID) and said index is defined by an ordered list of columns of said table, a concatenation of said list of columns of said table serving as a key for said index in terms of a binary number, said index pointing to respective rows by the row identifiers, in response to a query defining a request to access a subset of the rows of said table, wherein values of some of said columns are restricted to ranges of values of said some of said columns and each of said ranges consists of an ordered list of subranges and each of said subranges is defined by an upper and a lower bound, said method comprising the steps of:calculating a beginning of a first range of values of said key, based on said ranges of values of said some of said columns as a minimal binary number in which all values corresponding to columns in said ordered list of said columns are within their respective ranges;extracting row identifiers from successive entries of said index for said first range of values of said key until a key in which at least one of the values corresponding to columns in said ordered list of said columns is not within its respective range is encountered;for as long as relevant ranges of values of said key have not been exhausted and without relying upon an explicit or implicit definition of ranges of values of said key,calculating a beginning of a next range of values of said key, based on said ranges of values of said some of said columns and said key in which at least one of the values corresponding to columns in said ordered list of said columns is not within its respective range as a minimal binary number in which all values corresponding to columns in said ordered list of said columns are within their respective ranges and which is larger than said key in which at least one of the values corresponding to columns in said ordered list of said columns is not within its respective range andextracting row identifiers from successive entries of said index for said next range of values of said key until a key in which at least one of the values corresponding to columns in said ordered list of said columns is not within its respective range is encountered.