L4中级
数据库查询优化直觉
30 分钟性能调优时
格式:理解 N+1 问题和索引的概念。
N+1 问题:
场景:显示10篇文章,每篇文章显示作者名字。
差的做法(11次查询):
查询1:获取10篇文章
查询2-11:每篇文章分别查询作者
好的做法(2次查询):
查询1:获取10篇文章
查询2:一次性获取所有文章的作者
索引的类比: 数据库索引 = 书的目录。没有目录,找一个词需要翻完整本书。有了目录,直接翻到那一页。
练习:以下查询需要索引吗?
- 按用户 ID 查找用户 → ?
- 按创建时间排序文章 → ?
- 按邮箱搜索用户 → ?
- 全文搜索文章内容 → ?