MySQL 复合索引
mysqlmysqli database
复合索引是用于多个列的索引。它也被称为多列索引。
特性
让我们看看特性 −
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)