Bird
Raised Fist0
DBMS Theoryknowledge~5 mins

Why query optimization reduces execution time in DBMS Theory - Performance Analysis

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
Time Complexity: Why query optimization reduces execution time
O(n * m)
Understanding Time Complexity

When a database runs a query, it can do the work in many ways. Query optimization helps find the fastest way.

We want to understand how optimization affects the time the query takes to finish.

Scenario Under Consideration

Analyze the time complexity of this SQL query execution plan.


SELECT * FROM Orders
JOIN Customers ON Orders.CustomerID = Customers.ID
WHERE Customers.City = 'New York';

This query finds all orders from customers living in New York by joining two tables.

Identify Repeating Operations

Look at what repeats when running this query.

  • Primary operation: Scanning rows in Orders and Customers tables.
  • How many times: Each row in Orders is checked against matching Customers rows.
How Execution Grows With Input

As the number of rows grows, the work grows too.

Input Size (n)Approx. Operations
10About 100 checks
100About 10,000 checks
1000About 1,000,000 checks

Pattern observation: Without optimization, the work grows very fast as tables get bigger.

Final Time Complexity

Time Complexity: O(n * m)

This means the time grows roughly by multiplying the sizes of the two tables involved.

Common Mistake

[X] Wrong: "Query optimization just makes the computer faster, so time is shorter."

[OK] Correct: Optimization changes how the query runs, reducing repeated work, not just speeding up the machine.

Interview Connect

Understanding how query optimization reduces repeated work helps you explain how databases handle big data efficiently.

Self-Check

"What if we add an index on Customers.City? How would the time complexity change?"

Practice

(1/5)
1. Why does query optimization reduce execution time in a database?
easy
A. It finds the fastest way to access and process data
B. It increases the size of the database
C. It deletes unnecessary data automatically
D. It slows down the query to save resources

Solution

  1. Step 1: Understand the role of query optimization

    Query optimization helps the database find the best method to retrieve data efficiently.
  2. Step 2: Connect optimization to execution time

    By choosing the fastest access path, the query runs quicker, reducing execution time.
  3. Final Answer:

    It finds the fastest way to access and process data -> Option A
  4. Quick Check:

    Optimization = Faster queries [OK]
Hint: Optimization means finding the fastest data access path [OK]
Common Mistakes:
  • Thinking optimization deletes data
  • Believing optimization increases database size
  • Assuming optimization slows queries
2. Which of the following is a correct reason why query optimization reduces execution time?
easy
A. It uses indexes to quickly locate data
B. It duplicates data to speed up queries
C. It ignores query conditions to save time
D. It compresses the database files automatically

Solution

  1. Step 1: Identify the role of indexes in optimization

    Indexes help the database find data faster without scanning the whole table.
  2. Step 2: Understand why other options are incorrect

    Duplicating data or ignoring conditions would cause errors or inefficiency, not speed.
  3. Final Answer:

    It uses indexes to quickly locate data -> Option A
  4. Quick Check:

    Indexes speed up data search [OK]
Hint: Indexes help queries run faster by quick data lookup [OK]
Common Mistakes:
  • Thinking data duplication speeds queries
  • Believing ignoring conditions helps
  • Confusing compression with optimization
3. Consider a query that retrieves customer names from a large table without an index on the name column. After adding an index on the name column, what is the expected effect on execution time?
medium
A. Execution time will increase because indexes slow down queries
B. Execution time will decrease because the index speeds up data retrieval
C. Execution time will stay the same because indexes have no effect
D. Execution time will be unpredictable and random

Solution

  1. Step 1: Understand the effect of adding an index

    An index on the name column allows the database to find names faster without scanning all rows.
  2. Step 2: Predict the impact on execution time

    Because the database uses the index, the query runs faster, reducing execution time.
  3. Final Answer:

    Execution time will decrease because the index speeds up data retrieval -> Option B
  4. Quick Check:

    Index added = faster query [OK]
Hint: Adding index usually reduces query time [OK]
Common Mistakes:
  • Thinking indexes slow down queries
  • Believing indexes have no effect
  • Assuming execution time is random
4. A query is running slowly because it scans the entire table. Which change will most likely fix this problem?
medium
A. Increase the size of the database
B. Remove all indexes from the table
C. Add an index on the column used in the WHERE clause
D. Rewrite the query without any conditions

Solution

  1. Step 1: Identify the cause of slow query

    Full table scan happens when no index exists on columns used in filtering conditions.
  2. Step 2: Apply the fix by adding an index

    Adding an index on the WHERE clause column helps the database find matching rows faster, avoiding full scans.
  3. Final Answer:

    Add an index on the column used in the WHERE clause -> Option C
  4. Quick Check:

    Index on filter column = faster query [OK]
Hint: Index columns used in WHERE to speed queries [OK]
Common Mistakes:
  • Removing indexes thinking it helps
  • Increasing database size to fix speed
  • Removing query conditions to speed up
5. A database query joins two large tables without indexes on the join columns. How does query optimization reduce execution time in this case?
hard
A. By deleting duplicate rows before joining
B. By automatically creating indexes on all columns
C. By running the join on a smaller sample of data only
D. By choosing a join method that minimizes data scanning, like a hash join

Solution

  1. Step 1: Understand join optimization without indexes

    Without indexes, the optimizer selects the best join algorithm to reduce scanning, such as a hash join.
  2. Step 2: Explain why other options are incorrect

    The optimizer does not create indexes automatically, delete data, or sample data unless explicitly told.
  3. Final Answer:

    By choosing a join method that minimizes data scanning, like a hash join -> Option D
  4. Quick Check:

    Optimizer picks efficient join method [OK]
Hint: Optimizer picks best join method to save time [OK]
Common Mistakes:
  • Thinking optimizer auto-creates indexes
  • Believing optimizer deletes data
  • Assuming optimizer samples data automatically