MySQL Composite Index
Composite Index
A composite index is an index that is used on multiple columns. MySQL management system manages multiple columns simultaneously. Therefore, the single index contains multiple columns in one query called a composite index. It improves the speed of query performance during data retrieval.
This index contains a maximum of sixteen columns in one index. MySQL query optimizer uses this index to test the index column. This index is also known as a multiple-column index. This index assigns the column in the correct order.
Syntax
The basic syntax of the composite index shows below.
INDEX key name (column1, column2, column16)
The syntax of the MySQL composite index shows below.
CREATE TABLE tname ( Column1 data type NOT NULL PRIMARY KEY, Column2 datatype NOT NULL, Column3 datatype NOT NULL, INDEX iname (Column1, Column2, Column3));
The syntax of the MySQL composite index shows below.
CREATE TABLE name ( Column1 data type NOT NULL PRIMARY KEY, Column2 data type NOT NULL, Column3 data type NOT NULL, Column16 data type NOT NULL, INDEX iname (Column1, Column2, Column3, ...Column16));
The syntax of the MySQL composite index with the existing table shows below.
CREATE INDEXindex_nameON table name (Column1, Column2, Column3, ...Column16));
Examples of the Composite index
1) Example: The basic Composite indexexample shows below.
Execute the below query to understand the composite index in the MySQL table. Here, we have used two columns in a single index name.This index places the column in an ordered way in the table.
mysql> create table index_table( ->roll_number INT NOT NULL PRIMARY KEY, -> phone INT NOT NULL , ->name VARCHAR(10) NOT NULL, ->mark text NOT NULL, ->img blob NOT NULL, -> INDEX composites (roll_number, phone));
OUTPUT
Execute the below query to get the composite index and its information.
mysql> show index from index_table;
The above output image shows a composite index of the column. The table shows the column name and sequence of the indexes. In addition, the output image also displays other index information in the table.
2) Example: The multiple Composite indexexample shows below.
Here, we have used four columns in a single index name. This index places an ordered column in the table.
mysql> create table index_table( ->roll_number INT NOT NULL PRIMARY KEY, -> phone INT NOT NULL , ->name VARCHAR(10) NOT NULL, ->mark text NOT NULL, ->img blob NOT NULL, -> INDEX composites (roll_number, phone, name, mark(10), img(200)));
OUTPUT
Execute the below query to get the composite index and its information.
mysql> show index from index_table;
The above output image shows the given composite index. The table image shows the key name and sequence of the indexes. In addition, the output image displays the column name and other index information in the table.
3) Example: The unordered Composite indexexample shows below.
Here, we have used two columns in a single index name. This index places an unordered column in the table.
mysql> create table index_table( ->roll_number INT NOT NULL PRIMARY KEY, -> phone INT NOT NULL , ->name VARCHAR(10) NOT NULL, ->mark text NOT NULL, ->img blob NOT NULL, -> INDEX composites (phone, mark(10), img(200),name));
OUTPUT
Execute the below query to get the composite index and its information.
mysql> show index from index_table;
The table image shows the index name and sequence of the indexes. The above output image shows the given composite index for different columns. The image displays column names and other index information in the table. The sequence number shows as per order requirements.
4) Example: The composite index with the existing table example shows below.
Here, we have used three columns in a single index name. This index places an unordered column in the existing table.
mysql> CREATE INDEX composites ON index_table (phone, name, roll_number);
OUTPUT
Execute the below query to get the composite index and its information.
mysql> show index from index_table;
The above output image shows the index name, column name, and sequence of the indexes. The output image shows the given composite index and its columns. The image displays column names and other index information in the table. The sequence number shows as per order requirements.