intermediate
Client
Используйте generated TypeScript queries, понимая selection, inclusion, batching, connection lifecycle и SQL visibility.
Prisma Client генерируется из схемы и даёт типизированные запросы. В production нужны lifecycle соединений, явные `select`/`include`, логирование SQL и обработка ошибок.
const orders = await prisma.order.findMany({
where: { customerId },
select: { id: true, status: true, total: true },
});
На интервью: `select` vs `include`, nested writes, batching, пулинг в serverless и наблюдение за SQL.
Типовые ошибки: широкие `include`; много экземпляров client и исчерпание соединений; типы как гарантия эффективных планов.
Компромисс — DX против дисциплины запросов в масштабе.
Чеклист:
- Выбирайте только нужные поля.
- Правильно переиспользуйте lifecycle client.
- Наблюдайте SQL и латентность.
- Маппите ошибки на retry или ответ пользователю.