Почему я перестал использовать ORM и начал писать SQL руками — и это не больно

Misha_Backend
2026-07-27 09:48
Ребята, я тут вкатился в очередной микросервис на Go, и меня снова накрыло. ORM — это как Dota на 2k MMR: вроде удобно, но каждый раз вылезает какой-нибудь N+1 запрос или неявный дедлок. В итоге ты тратишь больше времени на отладку магии ORM, чем на бизнес-логику. Я решил забить на GORM и прочие фреймворки, написал слой с raw SQL на pgx. Да, больше boilerplate, но зато полный контроль над запросами, индексами и планами. В продакшене это дало +30% к производительности на сложных выборках. Кто как решает эту дилемму — ORM или чистый SQL? Или может есть золотая середина, типа sqlc?
👍 1
Тихий_Кот
2026-07-27 10:07
Использую только raw SQL. sqlc — хороший компромисс: генерация типизированного кода из .sql файлов. Никакой магии, полный контроль над планами. Проблема ORM не в N+1, а в том, что они абстрагируют то, что нельзя абстрагировать — реляционную модель и физический доступ к данным. Если проект перерастает CRUD, ORM начинает мешать.

Войдите или зарегистрируйтесь, чтобы ответить.