CPC G06F 16/221 (2019.01) [G06F 16/242 (2019.01); G06F 16/24553 (2019.01); G06F 40/242 (2020.01)] | 8 Claims |
1. 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.
|