TPC-H
TPC-H is a decision-support benchmark of 22 ad-hoc analytical queries over a business schema. It reports QphH from power and throughput tests at fixed scale factors, measuring optimizer and join performance.
TPC-H is the Transaction Processing Performance Council's decision-support (OLAP) benchmark. It measures how well a database answers complex, ad-hoc analytical queries against a business data warehouse. It is one of the most common yardsticks for analytical SQL engines, columnar databases, and cloud data warehouses, and for many years it was the default benchmark vendors quoted when launching a new analytical product.
What It Measures
TPC-H runs 22 parameterized SQL queries plus two refresh (insert/delete) functions over an eight-table schema modeling a supplier, customer, and order business. The headline metric is QphH@Size (composite queries-per-hour at a given scale factor), derived from a Power test (single-stream geometric mean of query times) and a Throughput test (multiple concurrent streams). A price/performance figure is also published.
Methodology
Data is generated by the dbgen tool at fixed scale factors — 1, 10, 30, 100, 300, 1000 GB and up — where the scale factor roughly equals the raw data size in gigabytes. The Power test runs all 22 queries serially together with the refresh functions, capturing latency for cold, complex joins and aggregations. The Throughput test launches several concurrent query streams to measure behavior under load. Queries involve large joins, group-by aggregations, subqueries, and date-range filters. Auxiliary structures are restricted: only limited indexing and no query-specific materialized views are allowed, which keeps the focus on the engine's planner and execution.
How to Interpret Results
Always state the scale factor: a result at SF100 is not comparable to one at SF1000. Read QphH together with price/performance and the number of concurrent streams. Because the rules forbid pre-computing answers, TPC-H rewards a strong query optimizer, fast joins, and good parallelism rather than caching tricks. For real evaluation, generate data with dbgen and run the queries on your own hardware; tools like BenchBase include TPC-H. Newer engines often quote TPC-H informally and unaudited, so verify the configuration.
Limitations
The schema and queries are uniform and predictable, so engines can over-tune for the 22 known queries. Data distributions are mostly uniform, which understates the skew seen in production. TPC-H has largely been superseded by TPC-DS for richer analytics, and it does not cover semi-structured data, streaming, or concurrency at warehouse-of-warehouses scale. Use it as a comparative analytical-SQL stress test, not a guarantee of real-world reporting performance. Its lasting value is as a quick, well-understood smoke test of an optimizer's ability to handle joins and aggregations, which is why it survives alongside its richer successor TPC-DS.