Back to results
US 12,001,414 B2Granted
ROWID decoding: an alternative to dictionary decoding
AssigneeOracle International Corporation
InventorsPit Fender, Benjamin Schlegel, Matthias Brantner
Life of this patent
Estimating the term…
Abstract
Techniques described herein propose a new RIDDecode operator in a QEP that uses ROWID lookup and fetch, instead of dictionary decoding, to retrieve decoded values, in order to reduce memory pressure and speed up processing.
Claims8
A method comprising:
- generating a query execution plan (QEP) for a query that specifies to aggregate a particular column by at least one group column, wherein said QEP comprises:
- a first plan operator that generates rows from a base table and a rowid pseudo column, wherein said rowid pseudo column returns rowids that each encode a storage location of a respective row in a data block of a database;
- a group by plan operator that is higher than said first plan operator and that groups by at least one group column;
- an aggregate operator that applies an aggregate function to said rowid pseudo column, wherein said aggregate operator is higher than said group by plan operator;
- a RIDDecode operator that is higher than said aggregate operator, wherein said RIDDecode operator is configured to retrieve a value for said at least one group column using a rowid from said rowid pseudo column;
- wherein generating said QEP includes:
- including said rowid pseudo column, said at least one group column, and said particular column in a projection list for said first plan operator;
- substituting said at least one group column with said rowid pseudo column in a projection list for said group by operator;
- executing said RIDDecode operator while executing said QEP.
6 more elements
One or more non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform functions comprising:
- generating a query execution plan (QEP) for a query that specifies to aggregate a particular column by at least one group column, wherein said QEP comprises:
- a first plan operator that generates rows from a base table and a rowid pseudo column, wherein said rowid pseudo column returns rowids that each encode a storage location of a respective row in a data block of a database;
- a group by plan operator that is higher than said first plan operator and that groups by at least one group column;
- an aggregate operator that applies an aggregate function to said rowid pseudo column, wherein said aggregate operator is higher than said group by plan operator;
- a RIDDecode operator that is higher than said aggregate operator, wherein said RIDDecode operator is configured to retrieve a value for said at least one group column using a rowid from said rowid pseudo column;
- wherein generating said QEP includes:
- including said rowid pseudo column, said at least one group column, and said particular column in a projection list for said first plan operator;
- substituting said at least one group column with said rowid pseudo column in a projection list for said group by operator;
- executing said RIDDecode operator while executing said QEP.
6 more elements
Dependencies are inferred from the claim text.