MySQL CREATE INDEX Statement
MySQL CREATE INDEX Statement
The CREATE INDEX statement is used to create indexes
on tables in databases, to speed up data retrieval.
The users cannot see the indexes, they are just used to speed up searches/queries.
Note: Updating tables with indexes are more time-consuming than tables without indexes (because the indexes must also be updated). So, only create indexes on columns that are frequently searched against.
Types of Indexes: Non-unique and Unique
There are two types of indexes:
CREATE INDEX- Creates a non-unique index (duplicate values are allowed)CREATE UNIQUE INDEX- Creates a unique index (duplicate values are not allowed)
CREATE INDEX Syntax
CREATE INDEX index_name
ON table_name (column1, column2, ...);CREATE UNIQUE INDEX Syntax
CREATE UNIQUE INDEX index_name
ON table_name (column1, column2, ...);MySQL CREATE INDEX Example
The following SQL creates a non-unique index named "idx_lastname" on the "LastName" column in the "Persons" table:
CREATE INDEX idx_lastname
ON Persons (LastName);If you want to create an index on a combination of columns, you can list the column names within the parentheses, separated by commas:
CREATE INDEX idx_lname_fname
ON Persons (LastName, FirstName);DROP INDEX Statement
The DROP INDEX statement is used to delete an index in a table.
ALTER TABLE table_name
DROP INDEX index_name;