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;
  • 主键字段在建表时会自动创建主键索引
  • 添加唯一约束时,数据库实际上会添加唯一索引
相关推荐
ward RINL2 分钟前
Spring boot启动原理及相关组件
数据库·spring boot·后端
RisunJan11 分钟前
Linux命令-mysqldump(MySQL数据库中备份工具)
linux·数据库·mysql
DolphinDB智臾科技15 分钟前
直播回顾 | 物联网时序数据库如何驱动电力场景智能调度?
数据库·物联网·时序数据库
FinTech老王18 分钟前
告别“sql_mode“噩梦:MySQL 8.0 vs 5.7兼容性全对比与升级避坑指南
android·sql·mysql
郝学胜-神的一滴20 分钟前
解锁CS数据存储的核心逻辑:从结构选择到表单设计的全解析
linux·服务器·数据库·c++·后端·oracle
qq_3911053420 分钟前
TDengine C# 连接示例和授权管理
大数据·数据库·c#·时序数据库·tdengine
孟章豪22 分钟前
如何优雅封装.NET数据库访问层(彻底告别拼接SQL)
数据库·sql·.net
zs宝来了24 分钟前
MySQL MVCC 实现原理:Undo Log 与 Read View
mysql·mvcc·read view·并发控制·undo log
geBR OTTE25 分钟前
Spring Boot中集成MyBatis操作数据库详细教程
数据库·spring boot·mybatis
2401_8401922726 分钟前
数据库连接池和java servlet
java·数据库·servlet