The purpose of adding a composite index to a table is to improve the performance of queries that filter or sort data based on multiple columns. Here are the key benefits of using a composite index:
-
Enhanced Query Performance: A composite index allows the database to quickly locate rows based on the values of multiple columns, reducing the amount of data that needs to be scanned.
-
Efficient Sorting: When queries involve sorting by multiple columns, a composite index can help the database retrieve the data in the desired order without additional sorting operations.
-
Multi-Column Filtering: Queries that use conditions on multiple columns can benefit from a composite index, as it can match the combined values of those columns more efficiently than separate indexes.
-
Reduced I/O Operations: By allowing the database to find relevant rows more quickly, composite indexes can reduce the number of disk I/O operations required, leading to faster query execution times.
-
Support for Unique Constraints: A composite index can also enforce uniqueness across multiple columns, ensuring that no two rows have the same combination of values in those columns.
Here’s an example of creating a composite index on two columns, last_name and first_name, in an employees table:
CREATE INDEX idx_name ON employees (last_name, first_name);
In this example, the composite index idx_name will help optimize queries that filter or sort based on both last_name and first_name.
