【数据库】Star Schema Benchmark 标准测试集优化(一)

简介: 【数据库】Star Schema Benchmark 标准测试集优化(一)

正文


首先咱们找到的 Star Schema Benchmark 的描述文档(点击可下载),咱们最开始找着的 Starrock 官网的一份关于 Star Schema Benchmark 的测试报告

主要参考这两篇文档,修改部分 SQL 关键字来建数据库的的模式(Schema)和表(Table):


CREATE USER ssb100 IDENTIFIED BY ssb1;
CREATE SCHEMA ssb100;
GRANT ALL ON ssb100.* TO ssb100;
CREATE DIMENSION TABLE CUSTOMER(
    C_CUSTKEY INTEGER PRIMARY KEY,
    C_NAME VARCHAR(25),
    C_ADDRESS VARCHAR(25),
    C_CITY VARCHAR(10),
    C_NATION VARCHAR(15),
    C_REGION VARCHAR(12),
    C_PHONE VARCHAR(15),
    C_MKTSEGMENT VARCHAR(10)
)
CREATE DIMENSION TABLE DATES(
    D_DATEKEY INTEGER PRIMARY KEY,
    D_DATE VARCHAR(18),
    D_DAYOFWEEK VARCHAR(18),
    D_MONTH VARCHAR(9),
    D_YEAR INTEGER,
    D_YEARMONTHNUM INTEGER,
    D_YEARMONTH VARCHAR(7),
    D_DAYNUMINWEEK INTEGER,
    D_DAYNUMINMONTH INTEGER,
    D_DAYNUMINYEAR INTEGER,
    D_MONTHNUMINYEAR INTEGER,
    D_WEEKNUMINYEAR INTEGER,
    D_SELLINGSEASON VARCHAR(12),
    D_LASTDAYINWEEKFL INTEGER,
    D_LASTDAYINMONTHFL INTEGER,
    D_HOLIDAYFL INTEGER,
    D_WEEKDAYFL INTEGER
)
CREATE DIMENSION TABLE PART(
    P_PARTKEY INTEGER PRIMARY KEY,
    P_NAME VARCHAR(22) ,
    P_MFGR VARCHAR(6),
    P_CATEGORY VARCHAR(7),
    P_BRAND VARCHAR(9),
    P_COLOR VARCHAR(11),
    P_TYPE VARCHAR(25),
    P_SIZE TINYINT,
    P_CONTAINER VARCHAR(10)
)
CREATE DIMENSION TABLE SUPPLIER(
    S_SUPPKEY INTEGER PRIMARY KEY,
    S_NAME VARCHAR(25),
    S_ADDRESS VARCHAR(25),
    S_CITY VARCHAR(10),
    S_NATION VARCHAR(15),
    S_REGION VARCHAR(12),
    S_PHONE VARCHAR(15)
)
CREATE TABLE LINEORDER(
    LO_ORDERKEY INTEGER,
    LO_LINENUMBER TINYINT,
    LO_CUSTKEY INTEGER REFERENCES CUSTOMER,
    LO_PARTKEY INTEGER REFERENCES PART,
    LO_SUPPKEY INTEGER REFERENCES SUPPLIER,
    LO_ORDERDATE INTEGER REFERENCES DATES,
    LO_ORDERPRIOTITY VARCHAR(15),
    LO_SHIPPRIOTITY TINYINT,
    LO_QUANTITY TINYINT,
    LO_EXTENDEDPRICE INTEGER,
    LO_ORDTOTALPRICE INTEGER,
    LO_DISCOUNT TINYINT,
    LO_REVENUE INTEGER,
    LO_SUPPLYCOST INTEGER,
    LO_TAX  TINYINT,
    LO_COMMITDATE INTEGER REFERENCES DATES,
    LO_SHIPMODE VARCHAR(10)
)

已修改内容如下:


  1. PART.P_SIZE 从 INTEGER 改成了 TINYINT
  2. CUSTOMER.C_ADDRESS 从 VARCHAR(40) 改成了 VARCHAR(25)(描述文档中的该字段最大长度是25)
  3. LINEORDER 所有的BIGINT 类型结合 starrocks的建表语句和starschema文档改成了 INTEGERTINYINT(是有合适的数据类型)
  4. LINEORDER 新增外键关联(描述文档中,是有外键关联的,得加上)
  5. 外键关联只关联表不写具体的字段(数据库特性,单一主键,无需指定列名)
  6. NOT NULL和多余的空格都去了(简化 SQL 文本)
目录
相关文章
|
5月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
9月前
|
关系型数据库 MySQL 数据库连接
Django数据库配置避坑指南:从初始化到生产环境的实战优化
本文介绍了Django数据库配置与初始化实战,涵盖MySQL等主流数据库的配置方法及常见问题处理。内容包括数据库连接设置、驱动安装、配置检查、数据表生成、初始数据导入导出,并提供真实项目部署场景的操作步骤与示例代码,适用于开发、测试及生产环境搭建。
440 1
|
5月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
336 6
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
如何让AI更“聪明”?VLM模型的优化策略与测试方法全解析​
本文系统解析视觉语言模型(VLM)的核心机制、推理优化、评测方法与挑战。涵盖多模态对齐、KV Cache优化、性能测试及主流基准,助你全面掌握VLM技术前沿。建议点赞收藏,深入学习。
1973 8
|
6月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1146 5
|
缓存 JavaScript 中间件
如何测试中间件优化后的 Pinia 状态管理?
如何测试中间件优化后的 Pinia 状态管理?
500 163
|
11月前
|
SQL 人工智能 数据可视化
16.1k star! 只需要DDL就能一键生成数据库关系图!开源神器ChartDB让你的数据结构"看得见"
ChartDB是一款开源的数据库可视化神器,通过一句智能查询就能自动生成专业的数据库关系图。无需安装客户端、不用暴露数据库密码,打开网页就能完成从数据建模到迁移的全流程操作,堪称开发者的"数据库透视镜"。
2374 67
|
8月前
|
机器学习/深度学习 SQL 运维
数据库出问题还靠猜?教你一招用机器学习优化运维,稳得一批!
数据库出问题还靠猜?教你一招用机器学习优化运维,稳得一批!
373 4
|
11月前
|
JSON 测试技术 API
优化你的 REST Assured 测试:设置默认主机与端口、GET 请求与断言
REST Assured 是一个强大的 Java 库,用于简化 RESTful API 测试。本文详解了其核心功能:设置默认主机和端口以减少代码重复、发起 GET 请求并验证响应结果,以及通过断言确保接口行为符合预期。同时推荐 Apipost 工具,助力开发者提升 API 测试效率,实现更高效的接口管理与团队协作。掌握这些技巧,可显著优化测试流程与代码质量。