SQLite specifies operations and properties in parameters of the function call ExplainQueryPlan(). We distinguished operations and properties by their locations in query plans, as the first phrase of each line is the operation, and the rest are properties.
Operation | Category | Reference | Description |
---|---|---|---|
COMPOUND QUERY | Combinator | Link | Each component query of a compound query (UNION, UNION ALL, EXCEPT, or INTERSECT) is assigned and computed separately and is given its own line in the EXPLAIN QUERY PLAN output. |
CO-ROUTINE | Join | Link | Run the subquery co-routine instead of storing temperature results in memory. |
LEFT | Combinator | Link | The left query for a composed query. |
LEFT-MOST SUBQUERY | Combinator | Link | The left subquery is a composed query. |
LIST SUBQUERY | Join | Link | A subquery that returns a list of values. |
MATERIALIZE | Executor | Link | Materialize data into memory to speed up follow-up calculation. |
MERGE | Combinator | Link | Merge the results of two queries. |
MULTI-INDEX OR | Combinator | Link | OR optimization, in which there will be a single top-level record for the search, with two sub-records, one for each index: |
RECURSIVE STEP | Executor | Link | Execute the recursive SELECT taking the single row in Current as the value for the recursive table. Store the results in the Queue. |
REUSE LIST SUBQUERY | Executor | Link | Reuse a previously computed list subquery. |
REUSE SUBQUERY | Join | Link | Reuse a previously computed subquery. |
RIGHT | Combinator | Link | The right query for a composed query. |
SCAN | Producer | Link | Scan the entire table. |
SCAN CONSTANT ROW | Producer | Link | Read constant values. |
SEARCH | Producer | Link | Scan partial table via indexes. |
SETUP | Executor | Link | Store the results of the setup query in Queue. |
USE TEMP B-TREE | Executor | Link | Optimization for a composed query that stores a subquery into a b-tree in memory for efficiency. |