tencent cloud

TDSQL Boundless

产品动态
产品简介
产品概述
应用场景
产品架构
实例类型
兼容性说明
使用规范建议
自研内核
内核概述
内核版本更新动态
功能类特性
性能类特性
产品计费
计费概述
购买方式
价格详情
续费说明
欠费说明
退费说明
快速入门
创建实例
连接实例
用户指南
数据迁移
数据同步/订阅
实例管理
参数配置
账号管理
安全组
备份与恢复
数据库审计
标签管理
实践教程
Online DDL 的技术演进与使用实践
锁机制解析与问题排查实践
数据智能调度及相关性能优化实践
TDSQL Boundless 选型指南与实践教程
开发指南
开发指南(MySQL 兼容模式)
开发指南(HBase 兼容模式)
性能调优
性能调优概述
SQL 调优
DDL 调优
性能白皮书
性能概述
TPC-C 测试
Sysbench 测试
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Security Group APIs
Task APIs
Backup APIs
Rollback APIs
Parameter APIs
Database APIs
Data Types
Error Codes
通用参考
系统原理
SQL 参考
数据库参数说明
TPC-H 基准测试数据模型参考
错误码信息
安全与合规
常见问题
服务协议
服务等级协议
服务条款
隐私政策
数据处理和安全协议
联系我们
词汇表
文档TDSQL Boundless通用参考TPC-H 基准测试数据模型参考

TPC-H 基准测试数据模型参考

PDF
聚焦模式
字号
最后更新时间: 2026-03-26 14:51:35

概述

TPC-H(Transaction Processing Performance Council - H)是由 TPC 组织制定的决策支持基准测试标准,模拟了一个典型的订单管理系统的数据仓库环境。TPC-H 数据模型广泛应用于数据库性能测试、查询优化验证和商业智能场景。

业务场景

TPC-H 模拟的是一个全球化的零售批发供应商系统,涵盖以下核心业务流程:
零件供应:供应商向客户提供各种零件
订单管理:客户下单购买零件
物流配送:订单明细记录每个零件的配送状态
财务结算:跟踪订单金额、折扣、税费等财务信息
全球化运营:涉及多个国家和地区的业务

表结构详解

1. REGION (区域表)

业务含义:全球业务区域划分(如亚洲、欧洲、美洲等)
CREATE TABLE region (
r_regionkey INT NOT NULL, -- 区域键(主键)
r_name CHAR(25) NOT NULL, -- 区域名称
r_comment VARCHAR(152), -- 备注信息
PRIMARY KEY (r_regionkey)
);

2. NATION (国家表)

业务含义:国家信息,隶属于某个区域
CREATE TABLE nation (
n_nationkey INT NOT NULL, -- 国家键(主键)
n_name CHAR(25) NOT NULL, -- 国家名称
n_regionkey INT NOT NULL, -- 所属区域键(外键 -> region)
n_comment VARCHAR(152), -- 备注信息
PRIMARY KEY (n_nationkey),
FOREIGN KEY (n_regionkey) REFERENCES region(r_regionkey)
);

3. CUSTOMER (客户表)

业务含义:客户基本信息,包括账户余额、市场细分等
CREATE TABLE customer (
c_custkey INT NOT NULL, -- 客户键(主键)
c_name VARCHAR(25) NOT NULL, -- 客户名称
c_address VARCHAR(40) NOT NULL, -- 客户地址
c_nationkey INT NOT NULL, -- 所属国家键(外键 -> nation)
c_phone CHAR(15) NOT NULL, -- 联系电话
c_acctbal DECIMAL(15,2) NOT NULL,-- 账户余额
c_mktsegment CHAR(10) NOT NULL, -- 市场细分
c_comment VARCHAR(117) NOT NULL, -- 备注信息
PRIMARY KEY (c_custkey),
FOREIGN KEY (c_nationkey) REFERENCES nation(n_nationkey)
);

4. PART (零件表)

业务含义:产品零件信息,包括规格、品牌、价格等
CREATE TABLE part (
p_partkey INT NOT NULL, -- 零件键(主键)
p_name VARCHAR(55) NOT NULL, -- 零件名称
p_mfgr CHAR(25) NOT NULL, -- 制造商
p_brand CHAR(10) NOT NULL, -- 品牌
p_type VARCHAR(25) NOT NULL, -- 零件类型
p_size INT NOT NULL, -- 尺寸
p_container CHAR(10) NOT NULL, -- 容器类型
p_retailprice DECIMAL(15,2) NOT NULL,-- 零售价格
p_comment VARCHAR(23) NOT NULL, -- 备注信息
PRIMARY KEY (p_partkey)
);

5. SUPPLIER (供应商表)

业务含义:零件供应商信息
CREATE TABLE supplier (
s_suppkey INT NOT NULL, -- 供应商键(主键)
s_name CHAR(25) NOT NULL, -- 供应商名称
s_address VARCHAR(40) NOT NULL, -- 供应商地址
s_nationkey INT NOT NULL, -- 所属国家键(外键 -> nation)
s_phone CHAR(15) NOT NULL, -- 联系电话
s_acctbal DECIMAL(15,2) NOT NULL,-- 账户余额
s_comment VARCHAR(101) NOT NULL, -- 备注信息
PRIMARY KEY (s_suppkey),
FOREIGN KEY (s_nationkey) REFERENCES nation(n_nationkey)
);

6. PARTSUPP (零件供应关系表)

业务含义:零件与供应商的多对多关系,包括库存和成本信息
CREATE TABLE partsupp (
ps_partkey INT NOT NULL, -- 零件键(外键 -> part)
ps_suppkey INT NOT NULL, -- 供应商键(外键 -> supplier)
ps_availqty INT NOT NULL, -- 可用数量
ps_supplycost DECIMAL(15,2) NOT NULL,-- 供应成本
ps_comment VARCHAR(199) NOT NULL,-- 备注信息
PRIMARY KEY (ps_partkey, ps_suppkey),
FOREIGN KEY (ps_partkey) REFERENCES part(p_partkey),
FOREIGN KEY (ps_suppkey) REFERENCES supplier(s_suppkey)
);

7. ORDERS (订单表)

业务含义:客户订单主表,记录订单基本信息
CREATE TABLE orders (
o_orderkey INT NOT NULL, -- 订单键(主键)
o_custkey INT NOT NULL, -- 客户键(外键 -> customer)
o_orderstatus CHAR(1) NOT NULL, -- 订单状态
o_totalprice DECIMAL(15,2) NOT NULL, -- 订单总价
o_orderdate DATE NOT NULL, -- 订单日期
o_orderpriority CHAR(15) NOT NULL, -- 订单优先级
o_clerk CHAR(15) NOT NULL, -- 订单处理员
o_shippriority INT NOT NULL, -- 配送优先级
o_comment VARCHAR(79) NOT NULL, -- 备注信息
PRIMARY KEY (o_orderkey),
FOREIGN KEY (o_custkey) REFERENCES customer(c_custkey)
);

8. LINEITEM (订单明细表)

业务含义:订单的明细行项,记录每个零件的配送信息,是数据量最大的事实表
CREATE TABLE lineitem (
l_orderkey INT NOT NULL, -- 订单键(外键 -> orders)
l_partkey INT NOT NULL, -- 零件键(外键 -> part)
l_suppkey INT NOT NULL, -- 供应商键(外键 -> supplier)
l_linenumber INT NOT NULL, -- 行号
l_quantity DECIMAL(15,2) NOT NULL, -- 数量
l_extendedprice DECIMAL(15,2) NOT NULL, -- 扩展价格
l_discount DECIMAL(15,2) NOT NULL, -- 折扣率
l_tax DECIMAL(15,2) NOT NULL, -- 税率
l_returnflag CHAR(1) NOT NULL, -- 退货标志
l_linestatus CHAR(1) NOT NULL, -- 行状态
l_shipdate DATE NOT NULL, -- 发货日期
l_commitdate DATE NOT NULL, -- 承诺日期
l_receiptdate DATE NOT NULL, -- 收货日期
l_shipinstruct CHAR(25) NOT NULL, -- 配送说明
l_shipmode CHAR(10) NOT NULL, -- 配送方式
l_comment VARCHAR(44) NOT NULL, -- 备注信息
PRIMARY KEY (l_orderkey, l_linenumber),
FOREIGN KEY (l_orderkey) REFERENCES orders(o_orderkey),
FOREIGN KEY (l_partkey, l_suppkey) REFERENCES partsupp(ps_partkey, ps_suppkey)
);

参考资源

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈