İçeriğe geç

ORM N+1 Sorgusu (ARCH3079)

Anahtar typescript.performance.orm-n-plus-one · Önem error · Kategori performance

Bir sorgu sonucu üzerinde dönerken her öğenin ilişkili kaydına tembel erişmek, her yineleme için ayrı bir veritabanı sorgusu tetikler (N+1). İlişkiler eager olarak yüklenmelidir.

const orders = await repo.find({ where: { active: true } });
for (const order of orders) {
console.log(order.customer.name); // her yinelemede lazy sorgu
}
const orders = await repo.find({
where: { active: true },
relations: { customer: true },
});
for (const order of orders) {
console.log(order.customer.name);
}

İlişkili verileri döngüden önce relations / eager join ile tek sorguda yükleyin.