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;
  • 主键字段在建表时会自动创建主键索引
  • 添加唯一约束时,数据库实际上会添加唯一索引
相关推荐
qq_544329172 分钟前
需求10——通过改一个小bug来学习如何定位问题
服务器·前端·javascript·网络·数据库·学习·react.js
qq_544329175 分钟前
需求11——解决字段无法清空的两个小bug
java·前端·数据库·react.js·mybatis
CodingBrother15 分钟前
MySQL 安全
数据库·mysql·安全
创作小达人30 分钟前
成绩管理|基于springBoot的成绩管理系统设计与实现(附项目源码+论文+数据库)
数据库·spring boot·后端·毕业设计·课程设计
神仙别闹34 分钟前
基于Qt实现(PC)学生信息管理系统
开发语言·数据库·qt
柳叶寒34 分钟前
软件设计之SSM(11)
java·数据库·spring·maven·mybatis
q567315231 小时前
Django 1.2标准日志模块出现奇怪行为时的解决方案
数据库·django·sqlite
beginner-小菜鸟1 小时前
01 从0开始搭建django环境
数据库·django·sqlite
Hellc0071 小时前
如何使用SolidWorks API [C#]
开发语言·数据库·c#
望舒_2331 小时前
【MySQL】基本查询(下):更新、删除
数据库·mysql