SQL DROP INDEX

Introduction

In this chapter, we will focus on the DROP INDEX statement in SQL. Dropping an index can be necessary when it is no longer needed or if it is affecting the performance of write operations. This chapter will cover the definition, syntax, and provide examples to help you understand how to use the DROP INDEX statement effectively.

What is DROP INDEX?

The DROP INDEX statement is used to remove an existing index from a table. Removing an index can help improve the performance of write operations such as INSERT, UPDATE, and DELETE by eliminating the overhead of maintaining the index.

Syntax for DROP INDEX

MySQL

DROP INDEX index_name ON table_name;

SQL Server

DROP INDEX table_name.index_name;

PostgreSQL

DROP INDEX index_name;

Step-by-Step Example

Sample Table and Indexes

First, let's create a sample table named employees and add some indexes to it.

CREATE TABLE employees (
    id INT PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    email VARCHAR(100),
    department_id INT,
    salary DECIMAL(10, 2)
);

Inserting Sample Data

INSERT INTO employees (first_name, last_name, email, department_id, salary)
VALUES
('Ramesh', 'Kumar', 'ramesh.kumar@example.com', 1, 50000),
('Sita', 'Patel', 'sita.patel@example.com', 2, 60000),
('Arjun', 'Singh', 'arjun.singh@example.com', 1, 55000),
('Priya', 'Sharma', 'priya.sharma@example.com', 2, 62000),
('Ravi', 'Verma', 'ravi.verma@example.com', 3, 50000);

Creating Indexes

To create some indexes on the last_name and email columns:

CREATE INDEX idx_last_name
ON employees (last_name);

CREATE UNIQUE INDEX idx_email
ON employees (email);

Dropping an Index

MySQL Example

To drop the idx_last_name index on the employees table:

DROP INDEX idx_last_name ON employees;

SQL Server Example

To drop the idx_last_name index on the employees table:

DROP INDEX employees.idx_last_name;

PostgreSQL Example

To drop the idx_last_name index:

DROP INDEX idx_last_name;

Verifying the Drop

To verify that the index has been dropped, you can check the indexes on the table.

MySQL

SHOW INDEX FROM employees;

SQL Server

EXEC sp_helpindex 'employees';

PostgreSQL

SELECT * FROM pg_indexes WHERE tablename = 'employees';

Example of Dropping a Unique Index

To drop the idx_email unique index on the employees table:

MySQL

DROP INDEX idx_email ON employees;

SQL Server

DROP INDEX employees.idx_email;

PostgreSQL

DROP INDEX idx_email;

Conclusion

The DROP INDEX statement is a straightforward and effective way to remove indexes from a SQL database. This chapter covered the basic syntax for dropping indexes, provided examples to illustrate its use, and demonstrated how to verify the removal of indexes. Understanding how to use DROP INDEX effectively will help you manage and maintain your database schema.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare