【数据库】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 文本)
目录
相关文章
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第六章(操作本地数据库前置知识优化)
【4月更文挑战第6天】本文介绍了Node.js操作本地数据库的前置配置和优化,包括处理接口跨域的CORS中间件,以及解析请求数据的body-parser、cookie-parser和multer。还讲解了与MySQL数据库交互的两种方式:`createPool`(适用于高并发,通过连接池管理连接)和`createConnection`(适用于低负载)。
19 0
|
23天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
25天前
|
安全 Linux 测试技术
提升龙蜥内核测试能力!探究持续性模糊测试优化实践
清华大学软件学院对Anolis OS使用靶向模糊测试方法将测试工作引向修改的代码,进而提高对业务代码的测试能力。
|
1月前
|
SQL 缓存 PHP
PHP技术探究:优化数据库查询效率的实用方法
本文将深入探讨PHP中优化数据库查询效率的实用方法,包括索引优化、SQL语句优化以及缓存机制的应用。通过合理的优化策略和技巧,可以显著提升系统性能,提高用户体验,是PHP开发者不容忽视的重要议题。
|
1月前
|
敏捷开发 分布式计算 测试技术
深入理解软件测试中的自动化框架选择与优化策略
【2月更文挑战第29天】 在软件开发的生命周期中,测试环节扮演着至关重要的角色。随着敏捷开发和持续集成的普及,自动化测试成为确保软件质量和加快产品上市速度的关键手段。本文将探讨在构建自动化测试框架时面临的挑战,分析不同类型自动化框架的特点及其适用场景,并提出一系列优化策略,旨在帮助测试工程师提高测试效率,确保测试结果的准确性。
23 0
|
23天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
1天前
|
测试技术 API Python
Appium控件交互策略:优化自动化测试效率的关键方法
该文介绍了如何使用Selenium与APP进行交互,包括点击、输入和状态判断等操作。例如,通过element.click()点击控件,element.send_keys()输入文本,以及element.is_displayed()检查元素是否可见。还展示了如何获取元素属性,如resource-id、text和class,并提供了Python代码示例来定位并操作APP元素,如滑动条的显示、可点击性检测及点击滑动条中心位置。在编写测试脚本时,应注意元素定位和状态验证以确保测试稳定性。
7 1
|
2天前
|
存储 缓存 关系型数据库
掌握MySQL数据库这些优化技巧,事半功倍!
掌握MySQL数据库这些优化技巧,事半功倍!
|
2天前
|
SQL 关系型数据库 MySQL
stream-query多数据库进行CI测试
stream-query多数据库进行CI测试
8 0
|
2天前
|
缓存 关系型数据库 MySQL
MySQL数据库优化技巧:提升性能的关键策略
索引是提高查询效率的关键。根据查询频率和条件,创建合适的索引能够加快查询速度。但要注意,过多的索引可能会增加写操作的开销,因此需要权衡。

热门文章

最新文章