Skip to content

Query Data

QueryPerformanceSQL

AetheriusDB runs the same strictly-typed SQL surface everywhere, but how a query executes — and how fast — depends on a handful of engine features you can turn on and tune. This section explains each one: what it does for you, how to enable it, and the SQL you write to use it.

Each page carries an availability badge so you always know whether a feature is on by default, opt-in behind a flag, or still evolving. The configuration matrix is the source of truth for those defaults.

Fast enough that things which are normally batch jobs become interactive:

  • Relationship joins without scanning either table. A selective join along a declared relationship is answered as a direct lookup of the matching rows, so its cost tracks the number of rows matched rather than the size of the tables — unlike a query engine that rebuilds a hash table every time. This path has not yet been benchmarked with a committed harness; see Benchmarks for measured figures.
  • Distinct counts and percentiles over billions of rows in milliseconds. “How many unique users this quarter?” over a billion events returns in sub-second time, with a bounded, reason-about-able error — or exactly, when you ask for exact.
  • Queries run at native speed. A query can be compiled to one tight machine-code loop and spread across every CPU core, so you’re not paying interpreter overhead or leaving cores idle on a big scan.

You reach for these when a dashboard needs to feel instant, an API can’t wait on a multi-second query, or a nightly rollup is holding up the morning.

Why it’s better than a traditional database

Section titled “Why it’s better than a traditional database”

Most databases treat every query as if it were the first one they’ve ever seen — re-planning it, rebuilding join structures from scratch, and scanning more than they need to. AetheriusDB is built to remember, approximate, and parallelize, while never giving up a correct answer to do it.

You want to…A typical databaseAetheriusDB
Join related tables repeatedlyRebuilds a hash table on every queryRemembers the relationship and hops straight to the matching rows — microseconds, no scan
Join on a composite / multi-tenant keyMatch several columns by hand, every queryJoinKeys fold the columns into one token, so it’s a single-column fast-path
Count distinct / percentiles at scaleFull scan, seconds to minutesSub-second with bounded error — or exact on demand
Run one heavy queryOften one core, interpretedCompiled to native code, fanned across all cores
Add graph or vector queriesBolt on a second engineNative in the same SQL you already write
Go fasterRisk stale or approximate resultsFast paths are correct by construction — if a shortcut can’t be proven fresh and safe, the engine silently falls back to the exact answer

The last row is the one that matters most: you never trade correctness for speed. Every acceleration here is checked before it’s used, and declines to the ordinary, exact plan the moment it can’t guarantee the same result. Speed is opt-in and incremental — turn features on as you need them, tune them with flags, and keep the same strictly-typed SQL surface throughout.