Use The Index, Luke:索引为什么没用上

查询慢的时候,多数人第一反应是加索引;索引加了一堆,查询还是走全表扫描。这本书专讲为什么:索引在什么条件下才会被用上,条件写成什么样会让它失效,排序和连接又是怎么借力索引的,看完至少能判断慢查询卡在哪一环。
它解决什么问题
索引加了却用不上,不知道是条件写法的问题还是索引建错了。
只能看到查询变慢,执行计划里那一行行输出读不懂,也就无从下手。
核心能力
| 能力 | 具体能做到什么 |
|---|---|
| 只讲一个主题 | 全书围绕索引与查询优化展开,不铺开讲数据库的其他部分 |
| 按问题分章 | 条件匹配、排序、连接、分页这些常见场景各自成章 |
| 多种数据库对照 | 同一问题会点出不同引擎在处理上的差异 |
| 写法好坏对照 | 给出不同写法的对比,能看清索引被忽略的原因 |
| 无需注册 | 打开网页就能逐章阅读,不必登录 |
| 篇幅可控 | 章节不长,按手头遇到的性能问题挑着看即可 |

先读条件那几章,边读边看执行计划
最实用的入口是讲条件匹配与索引失效的那几章,读完立刻拿自己项目里的慢查询试一遍:按书里的思路把查询拆开,看它到底能不能用上现成的索引,再看执行计划里实际走了哪条路。这一步比继续往后读更有价值,因为大多数慢查询的原因就那几类,条件上套了函数、类型不匹配、联合索引的列顺序不对,对照着排查很快能定位。
书里的例子偏重原理,不讲某个数据库的全部语法细节,读到涉及引擎差异的地方,可以去对应产品的官方文档补全另一半。内容以英文写成,句子不长,术语也比较统一,配合执行计划一起看并不吃力。它真正帮你建立的是判断力:知道索引为什么会被忽略,才有可能在写查询时提前避开这些坑。
同类工具怎么选
| 工具 | 授权 | 差别在哪 |
|---|---|---|
| PostgreSQL 教程 | 免费闭源 | 从基础查询讲到高级用法,适合先把 SQL 写顺再来看性能 |
| SQLZoo | 免费闭源 | 交互式 SQL 练习,用于把查询写法练熟 |
| Redis University | 官方免费资源 | 缓存方向的官方课程,可从另一个角度理解怎么给数据库减压 |
谁适合用
- 写过慢查询、想弄清索引为什么失效的后端开发
- 需要为业务表设计索引的数据分析师与数据库管理员
- 面试前想补数据库性能知识点的求职者
怎么开始
- 打开站点,先读目录,找到和自己问题最接近的章节。
- 读条件匹配与索引失效那几章,边读边记下常见陷阱。
- 把自己项目里的慢查询拿出来,按书里的思路对照分析。
- 打开执行计划,确认索引有没有被用上、为什么。
- 按结论调整索引或改写查询,再对比优化前后的差异。
常见问题
要付费或注册吗?
正文免费在线阅读,不需要注册,也不需要任何订阅。
适合零基础吗?
建议先会写基本的 SQL 再来看,否则条件与连接那几章会觉得抽象。
有中文版吗?
正文以英文写成,可配合翻译工具阅读,代码与执行计划部分不受影响。
讲的是哪个数据库?
以通用原理为主并指出不同引擎的差异,具体语法还要查对应产品的文档。
授权与合规
全书内容以网页形式免费开放阅读,不需要注册即可逐章查看,站点不接受付费订阅。 官网:use-the-index-luke.com。
继续找同类资源
这条属于「学习资料」栏目,同栏目还有更多可直接使用的免费资源,可以在 学习资料全部资源 里按需翻阅。
相关资源
同栏目下这几条也常被一起翻到:
资源信息
界面语言
英文
授权方式
免费闭源
适用平台
Web
获取方式
直链下载
资源更新
2026-09-20
页面更新
2026-09-20
↓ 获取资源
点击按钮直接前往资源页面。