EXPLAIN to see which pipeline stages will run and in what order, or use EXPLAIN ANALYZE to actually execute the query and capture real row counts, timings, and memory usage per stage.
Plan-only vs analysis mode
| Mode | Runs query | Metrics collected |
|---|---|---|
EXPLAIN | No | All metric columns are null |
EXPLAIN ANALYZE | Yes | Row counts, timings, memory per phase |
Results\InMemory) with the same eight columns.
Output columns
| Column | Type | Description |
|---|---|---|
phase | string | Pipeline stage name |
rows_in | int|null | Rows entering the phase (null for plan-only) |
rows_out | int|null | Rows leaving the phase (null for plan-only) |
filtered | int|null | Rows removed (rows_in − rows_out; null for plan-only) |
time_ms | float|null | Wall-clock time in milliseconds (null for plan-only) |
duration_pct | float|null | Percentage of total query time (null for plan-only) |
mem_peak_kb | float|null | Peak memory in KB at the end of the phase (null for plan-only) |
note | string | Human-readable description of the phase configuration |
Pipeline stage names
| Phase | Description |
|---|---|
stream | Reading rows from the source file |
join | Applying join conditions against another data source |
where | Filtering rows before aggregation |
group | Grouping rows and computing aggregates |
having | Filtering grouped results |
sort | Sorting the result set |
limit | Applying LIMIT / OFFSET |
union | Merging results from a union sub-query |
Union sub-phases
When a query includesUNION or UNION ALL, each union branch reports its own sub-phases inside the explain output.
Single union — phases are prefixed with union_:
Usage
EXPLAIN ANALYZE with UNION
The example below produces phases:stream, where, limit, union_stream, union_where, union.
EXPLAIN and EXPLAIN ANALYZE do not replace a database query planner — FiQueLa has no optimizer. The output reflects the fixed execution order defined by the query lifecycle.