EP0855656A2

Method and system for query processing in a relational database

Abstract

A method and system is presented for constructing and applying a query processing tree to a relational database. The method/system comprises an automated approach for building a vector block of records using data in multiple input records derived from the relational database and then applying at least one vector operator of the query processing tree to the vector block of records. The approach can also include creating the query processing tree to have multiple vector operators. When applying the query processing tree, multiple vector blocks of records may be employed at the same vector operator or different vector operators. A vector descriptor control block associated with a vector block of records is employed to transfer control of the vector block of records from a first vector operator to a second vector operator in the query processing tree. The at least one vector operator in the query processing tree can comprise a table scan operator, a predicate operator, a sort operator, an aggregation operator, a join operator or a math operator.

EP0855656A2, drawing sheet 1
Sheet 1 of 11

Term

Term ended

Projected expiry passed 20 January 2018, 8.7 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

16 claims: 5 independent, 11 dependent

  1. 1
    A method for applying a query processing tree to a relational database, said method comprising:(a) building a vector block of records using data in multiple input records derived from the relational database;and (b) applying at least one vector operator of the query processing tree to the vector block of records.
  2. 7
    The method of any of claims 1 to 6, further comprising preallocating memory at compile time for the vector block.
  3. 8
    The method of any of claims 1 to 7 wherein the at least one vector operator comprises at least one of a scan operator, a predicate operator, a sort operator, an aggregation operator, a join operator and a math operator.
  4. 9
    The method of any of claims 1 to 8 further comprising accomplishing said steps (a) & (b) at any point in processing of the query processing tree.
  5. 10
    The method of any of claims 1 to 9 wherein said building step (a) comprises building n additional vector blocks of records, wherein n > 1, using data from multiple input records derived from the relational database, and wherein said at least one vector operator of said applying step (b) comprises multiple vector operators, each vector operator of said multiple vector operators being applied to at least one of the vector block of records and the n additional vector blocks of records.
  6. 11
    A method for processing a relational database, said method comprising:(a) creating a query processing tree with at least one vector operator;and (b) applying the at least one vector operator to a vector block of records derived from data in the relational database.
  7. 12
    A method for processing a query tree in a relational database, said method comprising:(a) applying a first vector operator of the query tree to a vector block of records derived from data in the relational database;and (b) subsequent to said applying step (a), applying a second vector operator of the query tree to the vector block of records derived from data in the relational database.
  8. 13
    A system for applying a query processing tree to a relational database, said system comprising:means for building a vector block of records using data from in multiple input records derived from the relational database;and means for applying at least one vector operator of the query processing tree to the vector block or records.
  9. 15
    A computer program product comprising a computer usable medium having computer readable program code means therein for use in applying a query processing tree to a relational database, said computer readable program code means in said computer program product comprising:computer readable program code means for causing a computer to effect building of a vector block of records using data from multiple input records derived from the relational database;and computer readable program code means for effecting applying of at least one vector operator of the query processing tree to the vector block of records.