Performance: Query builder
MEDIUM IMPACT
Query builders affect server response time and data fetching speed, impacting how fast the page can load dynamic content.
const users = await this.userRepository.createQueryBuilder('user') .leftJoinAndSelect('user.posts', 'post') .getMany();
const users = await this.userRepository.find(); for (const user of users) { user.posts = await this.postRepository.find({ where: { userId: user.id } }); }
| Pattern | Database Queries | Server Processing | Network Payload | Verdict |
|---|---|---|---|---|
| N+1 Query Pattern | Multiple queries (1 + N) | High due to repeated queries | Larger due to multiple responses | [X] Bad |
| Optimized Query Builder | Single combined query | Low due to single query | Smaller and efficient | [OK] Good |