CPC G06F 16/24544 (2019.01) [G06F 16/24539 (2019.01); G06F 16/24557 (2019.01); G06F 16/2456 (2019.01)] | 20 Claims |
1. A system comprising:
one or more processors configured to:
receive a query for data in a database comprising one or more tables, each table comprising one or more respective attributes, the query referencing a plurality of attributes;
obtain a query execution plan including a plurality of ordered execution steps for executing the query, wherein each execution step included in the query execution plan is associated with a different respective query operation of the received query, and wherein each execution step includes an indication of a different respective set of one or more attributes of the plurality of attributes needed for executing the respective query operation associated with the execution step; and
in response to receiving the query and obtaining the query execution plan, execute the respective query operations of the query according to the query execution plan, wherein execution of the respective query operations by the one or more processors comprises:
at a first execution step of the query execution plan:
determine, from the query execution plan, one or more first attributes of the plurality of attributes needed for executing a respective query operation of the first execution step;
retrieve the one or more first attributes from a database cache caching the plurality of attributes from the one or more tables; and
execute the first execution step; and
subsequent to execution of the first execution step, at a second execution step of the query execution plan:
determine, from the query execution plan, one or more second attributes of the plurality of attributes that are different from the one or more first attributes and that are needed for executing a respective query operation of the second execution step;
retrieve the one or more second attributes from the database cache; and
execute the second execution step.
|