Query console & runners
Run ad-hoc SQL, CQL, and MongoDB queries, analyze execution plans — read-only by default, every run audited.
SQL & CQL
For relational engines plus Cassandra (CQL) and Elasticsearch SQL, the console runs statements inside a read-only guard by default; toggle writes on explicitly. Results paginate, sensitive columns are masked unless you hold view:unmasked, and every run lands in the audit log. A per-engine "Samples" dropdown loads read-only starter queries so you can see the expected syntax and get going fast, and an "Export" button downloads the loaded rows to CSV or JSON (masked-safe, with a spreadsheet formula-injection guard).
Analyse with AI
Bring your own AI provider — Anthropic (Claude), OpenAI, Google (Gemini), xAI (Grok), or any OpenAI-compatible endpoint (Custom) — configured by an admin in Settings → AI (API keys are stored AES-256-GCM encrypted and never shown again; available models are auto-discovered from your key). The "Analyse with AI" button — in the console or one click from a long-running query in the Query Monitor — sends the statement and, where supported, its EXPLAIN plan to the model and streams back a plain-language explanation, the performance concerns it identifies, and concrete fixes including suggested CREATE INDEX statements — which are extracted into a one-click Copy / Use (load into the editor) list. A Stop button cancels a long generation. Works across engines, shows the provider/model used, and every analysis is audited. AI output is advisory — verify before applying to production.
Explain & optimize
On PostgreSQL, MySQL/MariaDB, SQL Server, Oracle, and IBM Db2, "Explain" analyzes a statement’s execution plan without running it — the engine plans, nothing executes. You get the plan as an indented cost/row tree plus actionable optimization hints:
- Sequential/full table scans with a filter and no supporting index → add an index on the filtered column(s).
- Indexes that exist but weren’t chosen, expensive sorts/hashes that may spill to disk, and large nested-loop joins.
- A one-line summary with the estimated total cost, so you can rank queries at a glance. Every Explain is audited.
- NoSQL too: MongoDB’s runner explains via .explain("queryPlanner") — flagging collection scans (COLLSCAN) and non-index-backed sorts — and Elasticsearch SQL translates to the native query DSL (_sql/translate), flagging match_all full scans and scripted/wildcard queries. Both plan only, never executing.
MongoDB runner
MongoDB is NoSQL, so it gets its own runner with two modes:
- Shell — mongosh-style statements like db.users.find({ active: true }).sort({ createdAt: -1 }).limit(20), plus aggregate, countDocuments, and distinct.
- Builder — pick a collection and operation (find / aggregate / count / distinct) and fill in JSON filter, projection, sort, and limit.
- Read-only by default; write operations require turning the guard off. Redis has no query surface and shows a clear notice instead.
Try it yourself
Open the console and put this into practice.