# 索引种类

URL: https://caijiao.org/mariadb/table/indexes
Source: docs/mariadb/table/indexes.md
Description: 本节介绍 MariaDB 中常用的索引类型，包括普通索引、唯一索引、全文索引和复合索引的特点及应用场景，帮助优化查询性能。

MariaDB 提供多种索引类型，用于加速数据检索，常见的有：

## 1. 普通索引（INDEX）

- 最基本的索引类型。
- 加速查询，但允许字段值重复。

创建普通索引：

```sql
CREATE INDEX idx_name ON table_name(column_name);
````

## 2. 唯一索引（UNIQUE）

* 确保索引列的值唯一。
* 不能有重复值，但允许 NULL。

创建唯一索引：

```sql
CREATE UNIQUE INDEX idx_unique_name ON table_name(column_name);
```

## 3. 主键索引（PRIMARY KEY）

* 唯一索引的一种，保证字段唯一且非空。
* 一个表只能有一个主键索引。

## 4. 全文索引（FULLTEXT）

* 用于文本列的全文搜索，适合大文本字段。
* 支持自然语言查询和布尔模式查询。

创建全文索引：

```sql
CREATE FULLTEXT INDEX idx_fulltext ON table_name(column_name);
```

## 5. 复合索引（Composite Index）

* 在多个列上建立的索引。
* 优化多列查询性能，但顺序敏感。

创建复合索引：

```sql
CREATE INDEX idx_composite ON table_name(column1, column2);
```

---

合理选择和设计索引，可以大幅提升数据库查询效率。
