w3resource

Boosting Query Speed by Creating Indexes in MySQL


Add an Index for Query Optimization

Write a MySQL query to add an index on the CustomerID column in the Orders table to improve query performance.

Solution:

-- Add an index on the "CustomerID" column in the Orders table.
ALTER TABLE Orders ADD INDEX idx_customer (CustomerID);

Explanation:

  • Purpose of the Query:
    • To create an index that accelerates queries filtering or joining on the CustomerID column.
    • Demonstrates how indexing can improve query performance.
  • Key Components:
    • ALTER TABLE Orders : Specifies the table to be altered.
    • ADD INDEX idx_customer (CustomerID) : Creates an index named idx_customer on the CustomerID column.
  • Real-World Application:
    • Enhances the performance of queries that frequently use the CustomerID field in WHERE or JOIN clauses.

Notes:

  • Ensure that the column data type is appropriate for indexing.
  • Adding indexes can speed up SELECT queries but may slow down INSERT or UPDATE operations.

For more Practice: Solve these Related Problems:

  • Write a MySQL query to add an index on the `OrderDate` column in the Orders table to improve query performance.
  • Write a MySQL query to add an index on the `ProductName` column in the Products table to optimize search queries.
  • Write a MySQL query to add an index on the `Email` column in the Users table to speed up login authentication queries.
  • Write a MySQL query to add an index on the `CategoryID` column in the Products table to enhance filtering by category.


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous MySQL Exercise: Analyze Query Performance with EXPLAIN
Next MySQL Exercise: Optimize Query with WHERE Clause using Indexed Column.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.