MySQL - 索引

索引(index)是帮助数据库高效获取数据的数据结果。

优点:

  • 提高数据查询的效率,降低数据库的IO成本
  • 通过索引列对数据进行排序,降低数据排序的成本,降低CPU消耗

缺点:

  • 索引会占用存储空间
  • 索引大大提高了查询效率,但同时也降低了insertupdatedelete的效率

MySQL数据库支持的索引结构有很多,如:Hash索引、B+Tree索引、Full-Text索引等。平常所说的索引默认是B+Tree结构组织的索引。

语法

  • 创建索引

    sql 复制代码
    create [unique] index 索引名 on 表名(字段名...);
  • 查看索引

    sql 复制代码
    show index from 表名;
  • 删除索引

    sql 复制代码
    drop index 索引名 on 表名;
sql 复制代码
-- 创建:为tb_emp表的name字段建立一个索引
create index idx_emp_name on tb_emp(name);

-- 查询:查询 tb_emp 表的索引信息
show index from tb_emp;

-- 删除:删除 tb_emp 表中name字段的索引
drop index idx_emp_name on tb_emp;

show index from tb_emp;
  • 主键字段在建表时会自动创建主键索引
  • 添加唯一约束时,数据库实际上会添加唯一索引
相关推荐
万亿少女的梦1688 分钟前
基于Spring Boot的楚雄旅游景区门票售卖系统设计与实现
java·spring boot·mysql·vue·系统设计
IvorySQL38 分钟前
PG 技术日报|2026-07-03
数据库·postgresql·开源
长孙豪翔1 小时前
引发事件的问题
java·linux·数据库
吴声子夜歌1 小时前
SQL进阶——HAVING子句
数据库·sql
talenteddriver1 小时前
MySQL的ABC联合索引
mysql
无小道1 小时前
Redis——哨兵
数据库·redis·缓存·哨兵
wear工程师1 小时前
可重复读能不能防幻读?MVCC 和 Next-Key Lock 到底谁在起作用
mysql·面试
AOwhisky2 小时前
Kubernetes(K8s)学习笔记(第十四期):集群存储与有状态应用(下篇):StatefulSet 有状态应用管理
redis·笔记·mysql·云原生·kubernetes·云计算·k8s
闪电悠米2 小时前
黑马点评-Redis Set-实现关注、取关和共同关注
数据库·redis·缓存
EntyIU2 小时前
CentOS-高可用部署手册-MySQL双主RedisNginx
linux·mysql·centos