Skip to main content
Metrics type: Key MetricsCategory: Executive Overview

At a glance

The rate at which queries are hitting your account right now, expressed as queries per hour. It is the heartbeat of the warehouse: a live measure of how much work is flowing through Snowflake at this moment. On its own it carries no judgement (more queries is neither good nor bad), but it is the denominator for almost every efficiency and cost question you will ask. When it spikes, something changed: a new dashboard rolled out, a scheduled job mis-fired, a bot started hammering an API, or genuine business demand surged. For a platform team it is the first number you glance at to know whether the account is busy, idle, or behaving unusually.

Calculation

The card counts query starts in a recent window and normalises to an hourly rate so the number is comparable regardless of how often it samples:
Two notes. First, “query” here means any statement Snowflake records in QUERY_HISTORY, including cheap metadata operations (SHOW, DESCRIBE, result-cache hits) and the queries Snowsight itself runs to render dashboards. That is why an idle-looking account can still show a non-trivial QPH. Second, because the value is a rate projected from a short window, a single burst within that window scales up proportionally, which is exactly what makes the live card responsive to spikes. For a stable hourly count rather than a projected rate, use a longer reporting period.

Worked example

A platform team runs Snowflake behind a BigCommerce store’s data stack. On a normal weekday the account hums along at roughly 1,800 queries per hour. Snapshot at 11 Jun 26, 14:00 UTC. The heartbeat jumped from ~1,800 to ~9,600 QPH in five minutes. The card itself has no alert (it is context), but the spike is the cue to investigate. The platform team drills into the per-warehouse breakdown: The whole surge is on ADHOC_WH. A quick look at QUERY_HISTORY filtered to that warehouse shows thousands of near-identical lightweight SELECT 1-style statements from a single service account: a misconfigured connection-pool health check that started firing in a tight loop after a deploy. No business value, pure noise, and it was driving ADHOC_WH toward saturation.
Three takeaways:
  1. QPH is the heartbeat, not the diagnosis. The number tells you the rhythm changed; the per-warehouse and QUERY_HISTORY drill-ins tell you why.
  2. A spike with no matching business demand is the tell. If queries surge while orders stay flat (see the cross-platform card), it is almost always a loop, a bot, or a dashboard storm, not growth.
  3. Read it as a denominator. Every cost-per-query and efficiency question divides by this number. When QPH moves, expect Avg Cost per Query ($) and saturation to move with it.

Sibling cards

Reconciling against the source

Where to look in Snowflake:
Snowsight → Monitoring → Query History for the live and recent query feed, filterable by warehouse, user, and status. Query SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY and COUNT(*) over a START_TIME range to reproduce the rate by hand. The INFORMATION_SCHEMA.QUERY_HISTORY() table function gives lower-latency recent results for the live edge. Snowsight → Admin → Warehouses shows per-warehouse running query counts in real time.
Why our number may legitimately differ from Snowflake’s own view: Cross-connector reconciliation: to tell a genuine demand surge from noise, line QPH up against Snowflake QPS Spike vs Ecom Order Rate. Queries up with orders up is growth; queries up with orders flat is a storm to investigate.

Known limitations / FAQs

Why does this card have no alert? QPH is a context metric, the heartbeat, not a pass/fail threshold. A high QPH can be perfectly healthy (busy business day) or a problem (retry storm). Rather than a blunt QPH limit, the meaningful anomalies are caught by purpose-built alert cards: Query Error Rate Spike (>1% in 1h), Credit Burn +50% Week-over-Week, and Warehouse Queueing Sustained (>5 queries queued). My account shows hundreds of QPH but nobody is running anything. Why? Because “query” includes a lot of background activity: BI tools polling for freshness, Snowsight rendering its own panels, metadata statements (SHOW, DESCRIBE), result-cache hits, and connection health checks. An “idle” account is rarely at zero QPH. Drill into QUERY_HISTORY by user to see what is generating the baseline. Is QPH the same as Snowflake’s QPS? It is the same signal at a different scale: queries per second times 3,600. We report per-hour because warehouse workloads are spikier than web traffic and an hourly rate reads more naturally for capacity and cost conversations. The cross-platform card uses “QPS” in its name for the ecom-traffic comparison, but the underlying count is identical. Why does the live number jump around so much minute to minute? Because it is a rate projected from a short window. A burst of queries in the sampling window scales up proportionally to an hourly figure, which makes the live card responsive but jumpy. For a steadier read, select a longer period so the rate averages over more data. Does a higher QPH cost more money? Not directly. Cost is driven by warehouse credits (compute time), not query count. A thousand trivial cache-hit queries can cost almost nothing, while ten heavy table scans burn real credits. Read QPH alongside Credits Burned (24h) and Avg Cost per Query ($) to connect volume to spend. Can I see which user or warehouse is driving the QPH? Yes, drill into the card for a per-warehouse breakdown, then reconcile against QUERY_HISTORY grouped by USER_NAME or WAREHOUSE_NAME in Snowsight to attribute the load. This is the standard path when a spike appears. Does QPH include queued queries or only running ones? It counts query starts (admitted and executing), not queries waiting in the queue. A warehouse can show steady QPH while a queue builds behind it; for the waiting side, read Avg Query Queue Depth per Warehouse.

Tracked live in Vortex IQ Nerve Centre

Queries per Hour (live) is one of hundreds of KPI pulses Vortex IQ tracks across Snowflake and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.