Overview
Optimize execution speed, memory, and network efficiency with a few targeted settings.
Recommended settings
{
"koalaDataExplorer.maxRows": 1000,
"koalaDataExplorer.timeout": 120000,
"koala.execution.fetchSize": 200,
"koala.execution.stopOnError": true
}
- Max Rows: Applies a ROWNUM guard server-side to prevent runaway result sets.
- Timeout: Stops long-running requests that exceed your SLA.
- Fetch size: Balances memory and network calls when streaming results.
Execution optimizations
- Query cancellation: Stops work at the tab level while other tabs keep running.
- Chunked uploads: Large SQL is compressed and chunked to reduce SOAP payload size.
- Streaming results: Fetch size tuning keeps memory flat even on wide datasets.
- Network efficiency: Gzip is applied automatically for medium/large SQL payloads.
Benchmarks
- Compression reduces large SQL payload size by ~60% on average.
- Tab isolation keeps memory stable when multiple queries run concurrently.
- Auto column width and virtual scrolling reduce render time for wide datasets.
- Background execution keeps the editor responsive while long queries stream results.
Before/after examples
- SQL payloads: 240 KB uncompressed → ~90 KB compressed (62% reduction).
- Multi-tab memory: 3 concurrent tabs leveled at the same memory footprint as a single tab after streaming.
- Export speed: Unlimited Excel export completes in roughly the same time as CSV when
fetchSize is set between 200–500.
Optimization tips
- Prefer targeted column lists instead of
SELECT *.
- Apply WHERE filters early; ROWNUM limits are enforced even with filters present.
- Use bind variables to improve plan reuse.
Real-world configurations
{
"koalaDataExplorer.maxRows": 5000, // guardrail for busy tenants
"koalaDataExplorer.timeout": 180000, // 3-minute ceiling for ad-hoc work
"koala.execution.fetchSize": 300, // balanced streaming
"koalaDataExplorer.logging.level": "INFO" // keep logs light in production
}
Set a lower maxRows in shared environments, then temporarily raise it for exports to keep memory and network usage predictable.