Performance: ORM concept (Sequelize, Prisma overview)
This concept affects server response time and initial page load speed by how efficiently database queries are generated and executed.
const users = await User.findAll({ include: [{ model: Post }] });const users = await User.findAll(); for (const user of users) { user.posts = await Post.findAll({ where: { userId: user.id } }); }
| Pattern | Database Queries | Server Response Time | Network Payload | Verdict |
|---|---|---|---|---|
| N+1 Query Pattern | Multiple queries per item | High due to many DB calls | Larger due to repeated data | [X] Bad |
| Eager Loading with ORM | Single optimized query | Lower due to fewer DB calls | Smaller and efficient | [OK] Good |
model Post {
id Int @id @default(autoincrement())
title String
published Boolean @default(false)
}published when a new Post is created without specifying it?published is Boolean with @default(false), meaning it defaults to false.published, Prisma sets it to the default, which is false.const User = sequelize.define('User', {
username: Sequelize.STRING,
age: Sequelize.INTEGER
});Sequelize.STRING is not a constructor. What is the likely fix?include: { relatedModel: true } to fetch related data.include: { posts: true } which is correct. const users = await prisma.user.findMany({ select: { posts: false } }); excludes posts, C filters by posts null, D uses wrong method name.Pass the test and this pattern moves unknown