Lyftron uses a step-based query optimizer. Queries that enter Lyftron are matched against execution plan cache and if no matching plan is found, a new plan is generated and stored in the cache for efficiency.
Execution plan cache provides insights into internal plan cache used by Lyftron. It holds all generated query plans along with steps details and basic execution statistics.
The execution plan is divided into 3 entries: details, steps, and parameters. Details of entries mentioned are self-explanatory, but "Steps" require explanation.
Execution plan steps
Each plan execution is divided into steps that represent consecutive parts of query execution. Later steps usually use products of earlier steps in the execution pipeline.