NEW
Also known as: Query Plan, Execution Plan
A database’s chosen sequence of physical operations to execute a query, often visualized via EXPLAIN to analyze performance and correctness.
DESCRIPTION
A Query Execution Plan describes the steps a database will perform to answer a SQL query, including scans, joins, filters, and aggregations with estimated or actual costs. Plans are produced by the optimizer and can be inspected using EXPLAIN or showplan tools. Reviewing plans helps diagnose performance issues like table scans, bad join orders, or missing indexes. Plans exist as estimated (before execution) and actual (collected during execution). Understanding both logical and physical operators is key to effective tuning.
ALTERNATIVE DEFINITIONS
Microsoft Learn
An execution plan describes the data retrieval methods chosen by the SQL Server Query Optimizer for a query.
Focuses on the optimizer’s selected methods in SQL Server.
PostgreSQL Documentation
EXPLAIN displays the execution plan that the PostgreSQL planner generates for a given statement.
Highlights the EXPLAIN tool for displaying plans.
Wikipedia
A query plan is a sequence of steps used to access data in a SQL relational database management system.
Provides a general, engine-agnostic definition of query plans.
RELATED TERMS
Query Optimization EXPLAIN Cost-Based Optimizer Join Algorithms Index Cardinality Estimation Operator Tree Logical Plan Physical Plan Statistics
COMPETING TERMS
Logical Query Plan Estimated Execution Plan
KNOWLEDGE AREAS
Data Storage & Operations Data Engineering Data Warehousing & BI Testing & Validation
TARGET AUDIENCE
Data Engineer Data Architect Software Developer BI Specialist Data Analyst
EXTERNAL SOURCES
- Wikipedia - Query plan
- Microsoft Learn - Execution plan concepts
- PostgreSQL - EXPLAIN command usage
- MySQL - MySQL EXPLAIN reference
TOP QUESTIONS
Why analyze a Query Execution Plan?
Plans reveal how a database retrieves data, helping identify inefficiencies such as table scans, bad join orders, or missing indexes.
Category: Relevancy
What is the difference between estimated and actual plans?
Estimated plans are computed before execution; actual plans include runtime metrics like row counts and timings.
Category: Difference
How do I view a Query Execution Plan?
Use EXPLAIN/EXPLAIN ANALYZE in PostgreSQL or showplan options in SQL Server and MySQL tools.
Category: How-to
What are common red flags in a plan?
Full table scans on large tables, nested loop joins on huge datasets, and high-cost operators without indexes are red flags.
Category: Troubleshooting
How do statistics affect plans?
Inaccurate statistics lead to poor cardinality estimates and suboptimal join orders or access paths.
Category: Requirements
Can I force a specific plan?
Many engines support hints or plan guides, but use sparingly and monitor for regressions as data changes.
Category: Best practices
Do plans change over time?
Yes. As statistics, indexes, or data distribution change, the optimizer may choose different plans.
Category: Dynamics
How do partitioning and plans interact?
Partition pruning drastically reduces scanned data when predicates match partition keys, improving plan efficiency.
Category: Performance
Is a faster plan always cheaper?
Generally, lower estimated cost correlates with speed, but misestimates happen. Validate with actual runtime metrics.
Category: Misunderstanding