MySQL复合索引


复合索引是在多个列上使用的索引。它也称为多列索引。

特性

让我们看看其特性 -

  • 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)

更新于: 2021年3月9日

8K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告