TGViewer
BlissCodeHub BlissCodeHub @blisscodehub · 159 subscribers
Post #110 290
#backend #полезно

Разберем интересный вопрос с собеса на backend node.js (middle позиция) разработчика - Расскажите о минусах ORM🧐

1. Для сложных структур данных и запросов автогенерированные запросы иногда могут быть неэффективны по сравнению с ручным написанием SQL. В пример приведём ситуацию, когда ORM может вызвать проблему с производительностью при выполнении сложных операций, таких как n+1 запросы - то есть, при извлечении связанных сущностей делается несколько отдельных запросов, вместо одного(можно отнести сюда TypeORM).

Как это лечить?
- Использование JOIN в запросах для извлечения связанных данных за один раз вместо множественных запросов для каждого объекта
- ORM Prisma поддерживают пакетную загрузку, объединяя несколько однотипных запросов в один

2. ORM стремится абстрагировать работу с БДшкой, но это не всегда возможно. Разрабу всё равно приходится юзать SQL, так как абстракция ORM не всегда успешно охватывает всю сложность взаимодействия. Например, когда речь идёт о сложных операциях - агрегациях данных, составных запросах или использовании специфичных для БД функций (окна PostgreSQL)

3. Проблема с несрабатывающим уникальным индексом в TypeORM - возникает, если в таблице уже присутствуют дубликаты, что нарушает работу механизма уникальности. Лечить можно ручной корректировкой миграций или удалением дубликатов до выполнения миграции

4. TypeORM может некорректно сгенерировать SQL-запрос для блокировки строки с помощью FOR UPDATE или других методов. Если блокировка реализована неправильно, может возникнуть ситуация, когда строки не блокируются, что приведет к несогласованности данных, когда два запроса параллельно обновляют одно и то же значение.

Присоединяйтесь к нашему общему чату и Discord серверу :)
  • 🔥 8
  • ❤‍🔥 1
  • ❤ 1
More from @blisscodehub
  1. Nov 18, 2025Всех приветствую 🧐 Давно от нас не было новостей и постов в целом 😭 Как можно заметить,…
  2. Oct 11, 2025Спасибо, null, вот ваши NaN в валюте undefined 🤜
  3. Oct 6, 2025В Южной Корее парализована цифровая инфраструктура всего государства из-за пожара в дата-ц…
  4. Oct 2, 2025Норм в резюме такой бигтех поставить?
  5. Sep 20, 2025#backend #полезно Апдейты с предыдущего фидбека 🧐 🟣 Ситуация в backend (Golang/Node.js)…
  6. Sep 19, 2025#backend Всех приветствую🧐 Давно я вам ничего не рассказывал, и этот период был насыщен с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →