MySQL 索引

前言

MySQL 索引_第1张图片


索引介绍

在MySQL中,索引是用于提高查询性能的数据结构。它可以加快数据库表的数据检索速度,并减少查询操作的开销。MySQL支持多种类型的索引,包括以下常见的类型:

  1. 主键索引(Primary Key Index):主键索引是一个用于唯一标识每一行数据的索引。在 MySQL 中,每个表只能有一个主键索引。
  2. 唯一索引(Unique Index):唯一索引要求索引列的值是唯一的,但允许为空。一张表可以有多个唯一索引。
  3. 普通索引(Index):普通索引是最基本的索引类型,没有任何限制或约束。它加速了对数据的查找操作。
  4. 全文索引(Full Text Index):全文索引主要用于全文搜索,可以高效地匹配文本内容。
  5. 组合索引(Composite Index):组合索引是对多个列进行索引,适用于联合查询条件。
  6. 空间索引(Spatial Index):空间索引用于处理具有空间属性的数据,例如地理位置坐标。

创建索引

语法:

create [unique] index index_name 
on table_name(column1,column2,...);
  • unique:可选项,表示创建唯一索引;
  • index_name :索引名称;
  • table_name :要创建索引的表名;
  • column1,column2,... :要包含在索引中的列名列表。

示例:

-- 创建一个表
create table tb_test(
id int primary key auto_increment,
name varchar(20)
);

-- 创建唯一索引
create unique index index_test1  
on tb_test(id);

-- 创建普通索引
create index index_test2
on tb_test(name);

-- 创建组合索引
create index index_test3
on tb_test(id,name);

修改索引

可以使用ALTER TABLE语句来添加或修改现有索引,语法如下:

alter table table_name 
add [unique] index index_name(column_name);

查看索引

查看某个表中的索引,语法如下:

show index from table_name;

在使用查询语句时,索引将自动使用,可以使用EXPLAIN关键字来查看索引使用情况。

explain select * from table_name where column_name='value';

删除索引

语法:

drop index index_name on table_name;

你可能感兴趣的:(MySQL,mysql,数据库)