Skip to main content

Command Palette

Search for a command to run...

MySQL索引原理

Published
1 min read
MySQL索引原理
  • 基本概念
    • 索引的功能就是加速查找
    • mysql中的primary key,unique,联合唯一也都是索引,这些索引除了加速查找以外,还有约束的功能
  • 常用索引
    • 普通索引INDEX:加速查找
    • 唯一索引:
      • 主键索引PRIMARY KEY:加速查找+约束(不为空、不能重复)
      • 唯一索引UNIQUE:加速查找+约束(不能重复)
    • 联合索引:
      • PRIMARY KEY(id,name):联合主键索引
      • UNIQUE(id,name):联合唯一索引
      • INDEX(id,name):联合普通索引
  • 索引的两大类型hash与btree

    • 我们可以在创建上述索引的时候,为其指定索引类型,分两类:

      • hash类型的索引:查询单条快,范围查询慢
      • btree类型的索引:b+树,层数越多,数据量指数级增长(我们就用它,因为innodb默认支持它)
    • 不同的存储引擎支持的索引类型也不一样:

      • InnoDB 支持事务,支持行级别锁定,支持 B-tree、Full-text 等索引,不支持 Hash 索引;
      • MyISAM 不支持事务,支持表级别锁定,支持 B-tree、Full-text 等索引,不支持 Hash 索引;
      • Memory 不支持事务,支持表级别锁定,支持 B-tree、Hash 等索引,不支持 Full-text 索引;
      • NDB 支持事务,支持行级别锁定,支持 Hash 索引,不支持 B-tree、Full-text 等索引;
      • Archive 不支持事务,支持表级别锁定,不支持 B-tree、Hash、Full-text 等索引;
4 views

More from this blog

GitHub 开源项目仓库汇总(2026-04-25 更新)

GitHub 开源项目仓库汇总(2026-04-25 更新) 数据来源:IMA 知识库 GitHub 相关内容整理 | 每周自动更新 本期新增 15 个项目,总计收录 44 个优质开源项目 📊 本周更新亮点 本周新增 15 个项目,重点聚焦 AI Coding 与 MLOps 基础设施: 🤖 AI Coding 全景图:OpenClaw(356K ⭐)、Claude Code(113K ⭐)、opencode(145K ⭐)等领跑赛道 🧠 记忆与持久化:claude-mem(59K ...

Apr 25, 20265 min read6

GitHub 开源项目仓库汇总(2026-04-18 更新 | 新增 6 项)

GitHub 开源项目仓库汇总(2026-04-18 更新) 数据来源:IMA 知识库 GitHub 相关内容整理 | 每周自动更新 本期新增 6 个项目,总计收录 29 个优质开源项目 📊 本周更新亮点 本周新增 6 个项目,包括: AI Coding 多 Agent 协调平台 multica(本周 +5,362 stars) AI 持久记忆框架 MemPalace(43k+ stars) AI 编码工作流编排器 Archon(17k+ stars) 全场景具身机器人数据集 AGIBO...

Apr 18, 20262 min read5
A

Agile Robin

42 posts

living an Awesome Life