近期写数据库,不少朋友留言问MySQL索引底层的实现,今天简单聊一聊,少讲“是怎么样”,更多说说“为什么设计成这样”。
问题1. 数据库为什么要设计索引?
图书馆存了1000W本图书,要从中找到《架构师之路》,一本本查,要查到什么时候去?
于是,图书管理员设计了一套规则:
(1)一楼放历史类,二楼放文学类,三楼放IT类…
(2)IT类,又分软件类,硬件类…
(3)软件类,又按照书名音序排序…
以便快速找到一本书。
与之类比,数据库存储了1000W条数据,要从中找到name=”shenjian”的记录,一条条查,要查到什么时候去?
于是,要有索引,用于提升数据库的查找速度。
**
问题2. 哈希(hash)比树(tree)更快,索引结构为什么要设计成树型?**
加速查找速度的数据结构,常见的有两类:
(1)哈希,例如HashMap,查询/插入/修改/删除的平
继续阅读与本文标签相同的文章
下一篇 :
1分钟了解MyISAM与InnoDB的索引差异
-
Zynq中PL读写PS端DDR数据
2026-05-21栏目: 教程
-
zynq中PS访问BRAM(一)
2026-05-21栏目: 教程
-
zynq中PS访问BRAM(二)
2026-05-21栏目: 教程
-
Reactive Programming 一种技术,各自表述
2026-05-21栏目: 教程
-
如何优雅地使用对象云存储-.NET篇
2026-05-21栏目: 教程
