在使用 GORM 进行数据库查询时,如何避免 N+1 查询的问题?

提问者:帅平 问题分类:面试刷题
在使用 GORM 进行数据库查询时,如何避免 N+1 查询的问题?
1 个回答
曾经多难忘
曾经多难忘
N+1 查询问题指的是在查询关联表时,如果使用了嵌套循环进行查询,就会产生大量的 SQL 查询。为了避免这个问题,可以使用 GORM 的 Preload 方法预先加载关联数据。比如:
// 查询 Users 以及它们的 Addresses
var users []User
DB.Preload("Addresses").Find(&users)
这个查询会一次性加载所有 User 和 Address 数据,避免了 N+1 查询问题。
发布于:1个月前 (02-12) IP属地:四川省
我来回答