资讯中心

为什么数据库都用 B+ 树?搞懂这个就够了

📅 2026/8/23 14:16:59
为什么数据库都用 B+ 树?搞懂这个就够了
先说结论你在数据库、面试里老听到一句话:“树高 10 层,查一次可能要读 10 次磁盘。” 听着挺唬人,其实道理特别简单。今天用大白话把它讲透。磁盘慢,这是一切的根源先记住一个事实:磁盘特别慢。到底有多慢?给你个感觉:从内存拿数据,好比你伸手拿桌上的水杯,一秒的事。从磁盘拿数据,好比你开车去外地取水杯,得跑一天。具体数字上,磁盘比内存慢十万倍。所以数据库里最怕的操作就是读磁盘,能少读一次是一次。数据凭什么放磁盘上?内存不香吗?有人会问:内存那么快,干脆把数据全放内存不就完了?放不下,也不敢放。第一,装不下。你的服务器内存也就几十 GB,可数据库动不动几百 GB 上千 GB,就像你想把一整个仓库的书塞进书包,塞不进去。大部分数据只能老老实实待在磁盘里。第二,不敢放。内存有个要命的毛病——断电就清零。要是数据只存内存,服务器一重启,用户、订单、聊天记录全没了。磁盘不一样,断电了数据还在,能长久保存。所以结论就一句:数据必须放磁盘,没得选。那查数据慢在哪?数据库为了查得快,会给数据建个"目录",这个目录就是索引树。这棵树的节点,大部分也在磁盘上。查数据