Bird
Raised Fist0
DBMS Theoryknowledge~5 mins

Query execution plans in DBMS Theory - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a query execution plan?
A query execution plan is a detailed step-by-step guide created by a database system that shows how it will retrieve data for a specific query. It helps understand how the database processes the query.
Click to reveal answer
beginner
Why are query execution plans important?
They help database users and administrators see how a query runs, identify slow parts, and find ways to make the query faster and more efficient.
Click to reveal answer
intermediate
What are common operations shown in a query execution plan?
Common operations include table scans, index scans, joins, sorting, filtering, and aggregations. These show how data is accessed and combined.
Click to reveal answer
beginner
How can you view a query execution plan in a database?
Most databases have commands or tools to show the plan. For example, in SQL Server you can use SET SHOWPLAN_ALL ON, and in PostgreSQL you use EXPLAIN before your query.
Click to reveal answer
beginner
What does an index scan in a query execution plan mean?
An index scan means the database uses an index to find rows quickly instead of looking at every row in the table, which usually makes the query faster.
Click to reveal answer
What is the main purpose of a query execution plan?
ATo store data permanently
BTo create new tables
CTo show how the database will run a query
DTo backup the database
Which operation in a query execution plan means the database reads every row in a table?
AIndex scan
BTable scan
CJoin
DSort
Which command is commonly used to see a query execution plan in PostgreSQL?
AEXPLAIN
BSHOW PLAN
CDESCRIBE
DSELECT PLAN
What does using an index in a query execution plan usually do?
AMakes the query faster
BCreates a new table
CDeletes data
DSlows down the query
Which of these is NOT typically shown in a query execution plan?
AFiltering rows
BSorting data
CJoining tables
DBacking up data
Explain what a query execution plan is and why it is useful.
Think about how the database decides to get data.
You got /3 concepts.
    Describe two common operations you might see in a query execution plan and what they mean.
    Consider how the database reads data from tables.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a query execution plan in a database?
      easy
      A. To backup the database
      B. To show how the database will execute a query step-by-step
      C. To create new tables automatically
      D. To store the query results permanently

      Solution

      1. Step 1: Understand what a query execution plan is

        A query execution plan explains the steps the database takes to run a query.
      2. Step 2: Identify the main purpose

        The plan helps users see how the database processes the query to optimize performance.
      3. Final Answer:

        To show how the database will execute a query step-by-step -> Option B
      4. Quick Check:

        Query execution plan = execution steps [OK]
      Hint: Execution plans show query steps clearly [OK]
      Common Mistakes:
      • Confusing plans with data storage
      • Thinking plans create tables
      • Assuming plans backup data
      2. Which SQL command is commonly used to view the query execution plan before running a query?
      easy
      A. SHOW PLAN
      B. RUN
      C. EXPLAIN
      D. DESCRIBE

      Solution

      1. Step 1: Recall the command to view execution plans

        The SQL command EXPLAIN is used to display how a query will be executed.
      2. Step 2: Differentiate from other commands

        RUN executes queries, SHOW PLAN is not standard, and DESCRIBE shows table structure.
      3. Final Answer:

        EXPLAIN -> Option C
      4. Quick Check:

        View plan = EXPLAIN [OK]
      Hint: Use EXPLAIN to see query plans [OK]
      Common Mistakes:
      • Using RUN to view plans
      • Confusing DESCRIBE with EXPLAIN
      • Assuming SHOW PLAN is standard
      3. Given the query SELECT * FROM employees WHERE department_id = 5;, what does the execution plan likely show?
      medium
      A. A full table scan of employees
      B. A join operation with another table
      C. A sort operation on employee names
      D. An index scan on department_id if indexed

      Solution

      1. Step 1: Analyze the query condition

        The query filters employees by department_id = 5. If department_id has an index, the database uses it.
      2. Step 2: Understand execution plan behavior

        If indexed, the plan shows an index scan to quickly find matching rows instead of scanning the whole table.
      3. Final Answer:

        An index scan on department_id if indexed -> Option D
      4. Quick Check:

        Indexed filter = index scan [OK]
      Hint: Indexed columns use index scan in plans [OK]
      Common Mistakes:
      • Assuming full table scan always happens
      • Expecting join when none exists
      • Thinking sorting is automatic
      4. A query execution plan shows a full table scan but the query filters on a column that has an index. What is the likely cause?
      medium
      A. The query uses a function on the indexed column
      B. The index is corrupted or unusable
      C. The database always prefers full scans
      D. The table is empty

      Solution

      1. Step 1: Understand why indexes may be ignored

        If a query applies a function (like LOWER or CAST) on an indexed column, the index cannot be used directly.
      2. Step 2: Rule out other options

        Corrupted indexes are rare and usually cause errors; databases do not always prefer full scans; empty tables do not cause full scans.
      3. Final Answer:

        The query uses a function on the indexed column -> Option A
      4. Quick Check:

        Functions on indexed columns block index use [OK]
      Hint: Functions on indexed columns disable index use [OK]
      Common Mistakes:
      • Assuming index corruption without error
      • Believing full scans are default
      • Thinking empty tables cause scans
      5. You want to optimize a slow query that joins two large tables. The execution plan shows a nested loop join causing delays. What is a good approach to improve performance?
      hard
      A. Create indexes on the join columns to enable hash or merge joins
      B. Remove all indexes to force full table scans
      C. Rewrite the query to use subqueries instead of joins
      D. Increase the database cache size without changing the query

      Solution

      1. Step 1: Identify the cause of slow join

        Nested loop joins are slow on large tables without indexes on join columns.
      2. Step 2: Apply indexing to improve join method

        Creating indexes on join columns allows the database to use faster join methods like hash or merge joins.
      3. Step 3: Evaluate other options

        Removing indexes slows queries; rewriting to subqueries may not help; increasing cache alone may not fix join inefficiency.
      4. Final Answer:

        Create indexes on the join columns to enable hash or merge joins -> Option A
      5. Quick Check:

        Indexes on join keys speed joins [OK]
      Hint: Index join columns to speed up joins [OK]
      Common Mistakes:
      • Dropping indexes thinking it helps
      • Assuming subqueries are always faster
      • Relying only on cache size increase