TPC-H是一个决策支持基准(Decision Support Benchmark),它由一套面向业务的特别查询和并发数据修改组成。查询和填充数据库的数据具有广泛的行业相关性。这个基准测试演示了检查大量数据、执行高度复杂的查询并回答关键业务问题的决策支持系统。TPC-H报告的性能指标称为TPC-H每小时复合查询性能指标(QphH@Size),反映了系统处理查询能力的多个方面。这些方面包括执行查询时所选择的数据库大小,由单个流提交查询时的查询处理能力,以及由多个并发用户提交查询时的查询吞吐量。
TPC-H 测试标准模拟了一个零部件在线销售的系统,共定义了8个表:
| 表名称 | 说明 |
|---|---|
| REGION | 区域表 |
| NATION | 国家表 |
| SUPPLIER | 供应商表 |
| PART | 零部件表 |
| PARTSUPP | 零部件供应表 |
| CUSTOMER | 客户表 |
| ORDERS | 订单表 |
| LINEITEM | 订单明细表 |
对应测试有22条SQL,涉及不同类型的业务。
| 查询语句 | 说明 | 主要涉及业务 |
|---|---|---|
| Q1 | 价格统计报告查询 | 带有分组、排序、聚集操作并存的单表查询操作。这个查询会导致表上的数据有95%到97%行被读取到。 |
| Q2 | 最小代价供货商查询 | 带有排序、聚集操作、子查询并存的多表查询操作。查询语句没有从语法上限制返回多少条元组,但是TPC-H标准规定,查询结果只返回前100行(通常依赖于应用程序实现)。 |
| Q3 | 运送优先级查询 | 带有分组、排序、聚集操作并存的三表查询操作。查询语句没有从语法上限制返回多少条元组,但是TPC-H标准规定,查询结果只返回前10行(通常依赖于应用程序实现)。 |
| Q4 | 订单优先级查询 | 带有分组、排序、聚集操作、子查询并存的单表查询操作。子查询是相关子查询。 |
| Q5 | 本地供应商收入量查询 | 带有分组、排序、聚集操作、子查询并存的多表连接查询操作。 |
| Q6 | 预测收入变化查询 | 带有聚集操作的单表查询操作。查询语句使用了BETWEEN-AND操作符,有的数据库可以对BETWEEN-AND进行优化。 |