---
title: 索引
date: 2024-06-06T23:51:24Z
tags: []
---


聚集索引和非聚集索引是数据库中两种不同的索引类型。

## 聚集索引（Clustered Index）

- 聚集索引是按照索引键的顺序物理地重新排列表中的行。
- 一个表只能有一个聚集索引，因为表的行实际上按照聚集索引的顺序存储。
- 聚集索引通常是主键，但不一定要求是主键。

## 非聚集索引（Non-Clustered Index）

- 非聚集索引是单独存储索引键和指向表中实际数据行的指针。
- 一个表可以有多个非聚集索引。
- 非聚集索引的查询速度取决于索引的键的选择和索引的大小。

在选择索引类型时，需要考虑查询的类型、数据的特点以及性能需求。

## 创建索引

```sql
CREATE [UNIQUE] [CLUSTERED(具体索引) | NONCLUSTERD]  INDEX <INDEX NAME> ON 列名(需要索引的列)
```

## 删除索引

```sql
drop index 索引名 on 表名
```

## 使用指定的索引查询

```sql
select * from 列名with(index = 索引名)
where 索引设置的列名 = '需要查询的数据'
```
