When Performance Matters, Skip the Orm
Postedabout 2 months agoActiveabout 2 months ago
oneuptime.comTechstory
calmmixed
Debate
20/100
OrmPerformance OptimizationGraphql
Key topics
Orm
Performance Optimization
Graphql
The article argues that ORMs can be a performance bottleneck, and the discussion explores alternative approaches like JooQ and GraphQL to improve performance.
Snapshot generated from the HN discussion
Discussion Activity
Light discussionFirst comment
7m
Peak period
2
0-1h
Avg / period
2
Key moments
- 01Story posted
Nov 13, 2025 at 3:46 PM EST
about 2 months ago
Step 01 - 02First comment
Nov 13, 2025 at 3:54 PM EST
7m after posting
Step 02 - 03Peak activity
2 comments in 0-1h
Hottest window of the conversation
Step 03 - 04Latest activity
Nov 13, 2025 at 3:59 PM EST
about 2 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45920308Type: storyLast synced: 11/17/2025, 6:04:15 AM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
In GQL you can query users, for example and select all fields except for a base64 picture of that user, so that the request is more performant.
However in the underlying implementation, you might be pulling the picture of the user anyway, but the GQL layer is simply dropping it because it's not in the requested set.
There's an argument, then, instead of hand-writing queries that have and don't have the picture (which is acceptable), we should write this backend code to take advantage of frameworks (such as apollo) that make the requested field set available, and then call the appropriate APIs to only fetch the requested set of fields.
Since most ORMs have this feature available, you can still use the ORM, you just need to use the lesser used feature of selecting only some columns.
This would result in the ultimate performance. This is also why I have always thought GQL (or something like GQL) will eventually replace plain old REST.