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;
  • 主键字段在建表时会自动创建主键索引
  • 添加唯一约束时,数据库实际上会添加唯一索引
相关推荐
zeijiershuai1 小时前
MySQL-SQL-DQL语句、DQL基本查询、DQL条件查询、DQL分组查询、聚合函数、DQL排序查询、DQL分页查询
数据库·sql·mysql
橙子家1 小时前
Redis 集群实现分布式缓存的示例操作流程【Redis 系列之五】
数据库
Jodie_Rao1 小时前
在 M1 芯片的 Mac 电脑上安装 Redis 可以通过 Homebrew 快速完成
数据库·redis·macos
weixin_409411022 小时前
面向数据库场景的大模型交互微调数据集
数据库·oracle·交互
东宇科技2 小时前
mysql中my.cnf权限不能过大。否则无法生效
数据库·mysql
喵喵帕斯3 小时前
MySQL索引优化-show index
后端·sql·mysql
Determined_man4 小时前
Mybatis-plus queryWrapper的使用
数据结构·数据库
飞奔的屎壳郎4 小时前
flink部署使用(flink-connector-jdbc)连接达梦数据库并写入读取数据
大数据·数据库·flink
Databend4 小时前
Databend Cloud 如何给游戏行业数据分析带来 10 倍收益提升?
数据库
喆星时瑜4 小时前
MySQL【8.0.41版】安装详细教程--无需手动配置环境
数据库·mysql·安装教程