sql-orm-patterns
Installation
SKILL.md
SQL ORM Anti-Patterns & Transactions
The N+1 Query Problem
Every ORM defaults to lazy loading. Fetching a list of parents then accessing children in a loop fires N+1 queries.
# BAD: 1 query for users + N queries for posts (every ORM, every language)
users = User.find_all()
for user in users:
print(user.posts) # separate SELECT per user
# 101 queries for 100 users
The fix is ORM-specific — learn your ORM's eager loading API.
Prisma — Does NOT Use JOINs by Default
Prisma issues separate queries and joins in-memory.