PM勇闯技术 – 数据库索引

1 评论 810 浏览 0 收藏 4 分钟

数据库索引常被视为“性能优化的秘密武器”。它能让查询速度提升数倍,却也可能在设计不当时成为拖累。本文将带你快速理解索引的原理与应用场景。

什么是数据库索引?

索引通俗理解为数据库的目录,它会对某些字段建立一个「快速查找表」,查询时可以通过索引直接定位到目标数据,而不用扫描整张表去大海捞针。

就像咱们可以通过书籍的目录可以快速定位到目标章节,而不用逐页去翻

为什么要加索引?

核心目标:加速查询(提高SELECT查询和WHERE子句的速度)

索引的代价

索引不是银弹,它的加速查询是有代价的!银弹是啥?科普一下这个出自前端的梗:「银弹」指的是一个能神奇地解决所有问题的方案或工具。

小结一下

索引是以空间换时间的典型设计:用额外的存储和写入成本换取查询速度的提升。一般对高频查询、过滤条件明确字段考虑加索引,而对低频查询、经常修改的字段就能不加就不加。

索引常见实现方式

不同数据库会根据场景选择不同的索引结构,最常见的有:B+树索引(最主流)、哈希索引、聚簇索引、全文索引这4种,咱们重点聊下前B+树和哈希索引:

B+树索引

可能看的有点懵,放心!问题不大,咱还有通俗解释版:B+树其实就像外卖APP的「多级分类导航」!现在,请打开饿了么外卖APP,去找一家“减配送费且有满减优惠的披萨意面店”这个过程和B + 树查数据的逻辑几乎一样

哈希索引

不折磨你了,直接上通俗解释版:

类比到数据库,比如给“用户ID”加哈希索引,当查询WHERE user_id = 123时,数据库会用哈希算法把“123”转换成一个「地址」,直接去这个地址拿数据,不用遍历整张表,指哪打哪!

本文由 @肖沐 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 获取更多技术干货,小红薯找:咔嗒库栗

    来自湖南 回复