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 или ответ пользователю.