跳转到主要内容
TPC-H 是一项广泛使用的基准测试,用于模拟批发供应商的内部数据仓库。 数据采用第三范式存储,因此在查询时需要进行大量 JOIN。 尽管它历史悠久,且假设数据均匀且相互独立分布并不现实,TPC-H 至今仍是最流行的 OLAP 基准测试。 参考资料

数据生成与导入

首先,检出 TPC-H 代码仓库并编译数据生成器:
然后,生成数据。参数 -s 用于指定缩放因子。例如,使用 -s 100 时,将为表 ‘lineitem’ 生成 6 亿行。
为了加快速度,你可以使用”分块”生成 (通过多个进程) :
缩放因子为 100 时各表的详细大小: (ClickHouse 中的压缩大小取自 system.tables.total_bytes,并基于下方的表定义。) 现在在 ClickHouse 中创建这些表。表定义可在 ClickHouse 软件源中的 init.sql 中找到。 可以按如下方式导入数据:
除了使用 tpch-kit 自行生成表之外,您也可以直接从公共 S3 存储桶导入数据。请务必先使用 init.sql 创建空表。

查询

这 22 个 TPC-H 查询可在 ClickHouse 软件源的此处找到。 要获得与 SQL 标准兼容的行为和预期结果,请应用 settings.json 中的设置。 有关已知问题以及特定查询的说明,请参阅 README 正确性 除非另有说明,这些查询的结果与官方结果一致。要进行验证,请生成一个缩放 因子 = 1 的 TPC-H 数据库 (dbgen,见上文) ,并与 tpch-kit 中的预期结果进行比较。
最后修改于 2026年6月10日