Short answer
The Result Set Limit in DBeaver Community Edition is configurable both globally and per connection, and in most cases it is enforced server-side: DBeaver rewrites your query to include a LIMIT/TOP-style clause before sending it. It does not normally fetch everything and truncate in the client. You can override it simply by writing your own limit clause in the SQL editor.
Configuration scope
There are two levels, and the per-connection value wins:
- Global default: Preferences → Editors → Data Editor (the "ResultSet fetch size"/max rows options). This applies to every connection that hasn't been customized.
- Per connection: Edit Connection → General/Editor settings (Data Sets section in recent versions), where you can set a different limit for a specific database.
For your cost-optimization scenario, set a conservative global default (e.g., 200 rows) and only raise it per connection where you genuinely need larger result sets.
Server-side vs client-side enforcement
For drivers where DBeaver supports query transformation (PostgreSQL, MySQL, Oracle, SQL Server, etc.), it appends the appropriate limit clause to the SQL it sends. You can confirm this rather than trust it: open the Query Manager view (Window → Show View → Query Manager), run a query, and inspect the actual statement text — you should see the injected LIMIT.
The caution: if a driver doesn't support automatic limit injection, DBeaver may fall back to fetching rows and stopping after the limit is reached client-side. Memory usage is still bounded by the fetch loop stopping early, but the server may have done more work than necessary. If you're on an unusual driver, verify via Query Manager before assuming server-side truncation.
Overriding the limit per query
You don't need hints or session variables. Two practical overrides:
- Write your own clause:
SELECT ... LIMIT 5000 in the SQL editor. DBeaver detects an existing limit clause and does not inject another one.
- Execute the full result: use "Export" or the fetch-all action in the data grid when you intentionally need everything.
Limit vs fetch size — don't conflate them
| Setting | Controls | Effect |
| Result Set Limit | Total rows shown in the grid | Caps the query result (usually via injected LIMIT) |
| Fetch Size | Rows per network round-trip | Tunes transfer chunking; does not change the total |
Fetch size affects latency and memory pressure during transfer, but it never raises the cap. Lowering fetch size on a low-traffic database reduces per-round-trip load; lowering the result set limit reduces total work.
Version note
The exact menu paths vary slightly across DBeaver CE versions (the behavior described is stable across recent 23.x/24.x releases). If your Query Manager shows no injected limit for your driver, treat enforcement as client-side for that connection and rely on explicit LIMIT clauses in your maintenance scripts.