MySQL索引
在 MySQL 数据库中,常见的索引类型包括以下几种:
- 普通索引(Normal Index):最基本的索引类型,没有任何限制。
- 唯一索引(Unique Index):要求索引列的值是唯一的,不允许重复。
- 主键索引(Primary Key Index):特殊的唯一索引,索引列的值必须唯一且不为空,用于唯一标识每行数据。
- 全文索引(Fulltext Index):用于全文搜索的索引类型,适合在文本字段上进行搜索。
- 组合索引(Composite Index):将多个列组合在一起创建的索引,可以提高多列条件查询的性能。
下面分别展示如何在 MySQL 中创建这些不同类型的索引:
1. 创建普通索引
CREATE INDEX idx_name ON table_name (column_name);
2. 创建唯一索引
CREATE UNIQUE INDEX idx_name ON table_name (column_name);
3. 创建主键索引
-
在创建表时定义主键索引:
CREATE TABLE
table_name
(
id
INT PRIMARY KEY,
column1
VARCHAR(50),
column2
INT
);
在上面的示例中,通过将 id
字段定义为 PRIMARY KEY
,即可创建一个名为 id
的主键索引。
-
在已存在的表上添加主键索引:
ALTER TABLE
table_name
ADD PRIMARY KEY (id
);
通过以上 SQL 语句,可以在已存在的表 table_name
上添加一个名为 id
的主键索引。
- 使用自增主键:
通常情况下,在 MySQL 中创建主键索引时会使用自增字段作为主键,例如:
CREATE TABLE `table_name` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`column1` VARCHAR(50),
`column2` INT
);
在上面的示例中,id
字段是一个自增主键,同时也是表的主键索引。
4. 创建全文索引
CREATE FULLTEXT INDEX idx_name ON table_name (column_name);
5. 创建组合索引
CREATE INDEX idx_name ON table_name (column1, column2);