The “automagic” nature of ORM frameworks makes it easy for developers to inadvertently implement “N+1 selects” access patterns. Most ORM frameworks will also offer a number of ways to mitigate this issue, though, and if you are going to use an ORM you must thoroughly read the documentation to understand how it works and what options are available to accessing data.
That being said, the worst codebase I ever worked on was created by a team who felt that ORMs were “evil”. It was littered with N+1 select issues from developers trying to reuse snippets of code without thinking through the performance implications.
So I’d say it really comes down to the skill/experience of the engineers to use tools correctly rather than what tools you use.
That being said, the worst codebase I ever worked on was created by a team who felt that ORMs were “evil”. It was littered with N+1 select issues from developers trying to reuse snippets of code without thinking through the performance implications.
So I’d say it really comes down to the skill/experience of the engineers to use tools correctly rather than what tools you use.