mysql建表时加索引
时间: 2023-09-22 10:11:14 浏览: 92
在 MySQL 中,可以在创建表时为某些字段添加索引,或者在创建表后通过 ALTER TABLE 语句为表添加索引。索引可以提高查询效率,但是会增加插入、更新和删除数据的时间。因此,需要根据具体情况来确定哪些字段需要添加索引。
以下是在创建表时为字段添加索引的示例:
```sql
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(50),
INDEX idx_email (email)
);
```
在上面的示例中,为 email 字段添加了一个名为 idx_email 的索引。可以使用以下语句为表添加其他类型的索引:
- UNIQUE 索引:保证索引列的值是唯一的。
```sql
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(50) UNIQUE
);
```
- FULLTEXT 索引:用于全文搜索。
```sql
CREATE TABLE articles (
id INT PRIMARY KEY,
title VARCHAR(100),
content TEXT,
FULLTEXT (title, content)
);
```
- 复合索引:用于多个字段的组合搜索。
```sql
CREATE TABLE users (
id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
INDEX idx_name (first_name, last_name)
);
```
可以使用 ALTER TABLE 语句来为表添加或删除索引:
- 添加索引
```sql
ALTER TABLE users ADD INDEX idx_email (email);
```
- 删除索引
```sql
ALTER TABLE users DROP INDEX idx_email;
```
需要注意的是,在修改表结构时,会锁定表,可能会影响并发性能。因此,需要在低峰期进行操作,并且谨慎使用 ALTER TABLE 语句。
阅读全文