复合索引是用于多个列的索引。也称为多列索引。
让我们看看功能-
MySQL允许用户创建一个最多由16列组成的复合索引。
查询优化器使用组合索引进行查询,这将测试索引中的所有列。
它还可以用于将测试前几列,前两列等等的查询。
如果在索引定义中以正确的顺序指定了列,则可以使用单个复合索引,这将加快对同一表的某些类型的查询的速度。
让我们看看在创建表的过程中如何创建复合索引。可以使用以下语句完成-
CREATE TABLE table_name ( c1 data_type PRIMARY KEY, c2 data_type, c3 data_type, c4 data_type, INDEX index_name (c2,c3,c4) );
在上面的语句中,复合索引由三列c2,c3和c4组成。
也可以使用“ CREATE INDEX”语句将组合索引添加到现有表中。让我们看看如何做到这一点
CREATE INDEX index_name ON table_name(c2,c3,c4);
如果在(c1,c2,c3)上有一个复合索引,那么用户将在下面提到的列组合之一上具有索引搜索功能-
(c1) (c1,c2) (c1,c2,c3)