MySQL-索引

目录

介绍

概念

优缺点

结构

语法

创建索引

查看索引

删除索引

注意事项


介绍

概念

  • 索引(index):是帮助数据库高效获取数据的数据结构

优缺点

  • 优点
    • 提高数据的查询效率,降低数据库的IO成本
    • 通过索引对数据进行排序,降低数排序的成本,降低CPU消耗
  • 缺点
    • 索引会占用内存空间
    • 索引大大提高了查询效率,同时却也降低了insert、update、delete的效率

结构

  • MySQL数据库支持的索引结构很多,如:Hash索引、B+Tree索引、Full-Text索引等。我们平常所说的索引,如果没有特别指明,都是默认B+Tree组织结构的索引
    • B+Tree(多路平衡搜索树)
      • 每一个节点可以存储多个key(有n个key,就有n个指针)

      • 所有数据都储存在叶子节点,非叶子节点仅用于索引数据

      • 叶子节点形成了一颗双向链表,便于数据的排序及区间范围的查询

语法

创建索引

  • create unique index 索引名 on 表名(字段名,.....);

  • on 之后指定创建索引的表与字段,加上unique表示创建唯一索引

  • 具体实例代码如下
    *

    sql 复制代码
    create index idx_emp_name on tb_emp (name);

查看索引

  • show index from 表名;

  • 查看指定表的所有索引

  • 具体实例代码如下
    *

    sql 复制代码
    show index from tb_emp;

删除索引

  • drop index 索引名 on 表名
  • 删除指定表的指定索引
  • 具体实例代码如下
sql 复制代码
drop index idx_emp_name on tb_emp;

注意事项

  • 主键字段,在创建表时会自动创建主键索引(主键索引的性能最强)
  • 属性添加唯一约束时,数据库也会对其添加唯一索引约束
    • 在执行完上述索引创建语句后,执行展示索引语句的运行结果如下
相关推荐
故乡dee云1 小时前
AWS 产品太多不会选?按“网站、数据库、文件、日志”4 类需求快速匹配
数据库·云计算·aws
曹牧3 小时前
C#:问号
前端·数据库·c#
奇树谦3 小时前
《现代 Key-Value 数据库原理:从 B+Tree 到 LSM Tree》-第五篇:现代数据库横向对比
数据库·lsm-tree
李白客3 小时前
分布式集群与数据库产业:从单机到集群的架构跃迁与市场重构
数据库·分布式·架构
福大大架构师每日一题4 小时前
Redis 8.10.0 正式发布:紧凑哈希、批量导入、备份恢复、流与时序能力全面升级
数据库·redis·哈希算法
雨晨源码(同名B站)4 小时前
基于深度学习YoloV11农业病害虫害检测系统 智慧农业信息化综合管理平台 (附源码+lw文档+ppt)
数据库·人工智能·深度学习·yolo·信息可视化
DBA小马哥5 小时前
向量数据库入门到进阶:Embedding、ANN算法与RAG落地的关键术语
数据库·算法·embedding
云和数据.ChenGuang5 小时前
fastapi项目拆分实战数据模型
java·服务器·数据库·人工智能·深度学习·fastapi·强化学习
祈禾5 小时前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
东方护航数据恢复(深圳)6 小时前
MySQL_Oracle数据库崩溃修复全攻略_东方护航数据恢复深圳店
数据库·mysql·oracle