Welcome Back

Google icon Sign in with Google
OR
I agree to abide by Pharmadaily Terms of Service and its Privacy Policy

Create Account

Google icon Sign up with Google
OR
By signing up, you agree to our Terms of Service and Privacy Policy
Instagram
youtube
Facebook

Analyze Execution Plan for a Query with and without Index

Analyze Execution Plan for a Query with and without Index

Query Explanation:

  • Step 1: Create an index on CustomerID in the Orders table to improve query performance.

  • Step 2: Execute the query without an index to analyze the full table scan.

  • Step 3: Execute the query with the index to see the optimization in the execution plan.

  • Step 4: Optionally, drop the index once it's no longer needed.

Important Comments:

  • -- Without index: The database performs a full table scan which can be slow and inefficient.

  • -- With index: Using the index significantly optimizes the query by directly searching for relevant rows, speeding up execution.

SQL Query:

-- Step 1: Create an index on CustomerID for optimized query performance
CREATE INDEX idx_customer_id ON Orders(CustomerID);

-- Step 2: Execute the query without an index
EXPLAIN SELECT * FROM Orders WHERE CustomerID = 1;
-- Without index: The database will perform a **full table scan** (ALL type), which can be slow.

-- Step 3: Execute the query after creating the index
EXPLAIN SELECT * FROM Orders WHERE CustomerID = 1;
-- With index: The database will use the `idx_customer_id` index, optimizing the query by directly searching for the required rows (ref type).

-- Step 4: Drop the index after usage (optional)
DROP INDEX idx_customer_id ON Orders;

 

Output:

With Index:

Without Index: