Skip to main content

Overview

Optimize execution speed, memory, and network efficiency with a few targeted 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.