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;
  • 主键字段在建表时会自动创建主键索引
  • 添加唯一约束时,数据库实际上会添加唯一索引
相关推荐
NineData13 小时前
NineData智能数据管理平台新功能发布|2026年1-2月
数据库·sql·数据分析
IvorySQL14 小时前
双星闪耀温哥华:IvorySQL 社区两项议题入选 PGConf.dev 2026
数据库·postgresql·开源
ma_king17 小时前
入门 java 和 数据库
java·数据库·后端
jiayou6420 小时前
KingbaseES 实战:审计追踪配置与运维实践
数据库
随风飘的云21 小时前
mysql的innodb引擎对可重复读做了那些优化,可以避免幻读
mysql
NineData1 天前
NineData 迁移评估功能正式上线
数据库·dba
NineData2 天前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师2 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石2 天前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_3 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库