1、安装mySQL

先安装: MySQL Server,

再安装: MySQL Client, MySQL Query Browser, MySQL Navigator, MySQL Administrator,反正能装的我都装了,这个过程很简单

2、下载TPC-H

现在的最新版是2.14,一共47MB.

3、解压到虚拟机

4、生成数据并加载到MySQL

1) 打开终端,取得root权限

2)创建MySQL用户、数据库、及授权

mysql -u root -p

mysql> CREATE USER 'tpch'@'%' IDENTIFIED BY 'tpch';

mysql> CREATE DATABASE tpch;

mysql> GRANT ALL ON tpch.* to 'tpch'@'%';

mysql> USE tpch;

3)运行tpch目录下的dss.ddl文件,创建tpch数据库中的表

mysql> \. tpch/gen/dss.ddl

4)然后在tpch文件目录下,把makefile复制并改名成makefile,接着修改makefile文件

shell> cp makefile.suite makefile

shell> vim makefile

makefile中相应项后面填写:

CC      = gcc

# Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata)  #                                  SQLSERVER, SYBASE  # Current values for MACHINE are:  ATT, DOS, HP, IBM, ICL, MVS,   #                                  SGI, SUN, U2200, VMS, LINUX, WIN32   #

Current values for WORKLOAD are:  TPCH

DATABASE= SQLSERVER

MACHINE = LINUX

WORKLOAD = TPCH

5)修改tpch.h文件

修改其中的SQLSERVER段为:

#ifdef  SQLSERVER

#define GEN_QUERY_PLAN        "EXPLAIN;"

#define START_TRAN                "START TRANSACTION;\n"

#define END_TRAN                "COMMIT;\n"

#define SET_OUTPUT                ""

#define SET_ROWCOUNT                "limit %d;\n"

#define SET_DBASE                "use %s;\n"

#endif

6)执行makefile

shell> make

7)生成需要用的数据

shell> ./dbgen -s 1

-s 数据规模因子,1为1G的数据量

8)修改tpch目录下的dss.ri文件

1.删除 "CONNECT TO TPCD;"

2.删除所有的 "TPCH."(注意有个点)

3.删除所有的"COMMIT WORK;"(注意分号也要删除)

9)登录MySQL,并载入之前生成的数据进MySQL

shell> mysql -u tpch -p

mysql> use tpch;

mysql> LOAD DATA LOCAL INFILE 'customer.tbl' INTO TABLE CUSTOMER FIELDS TERMINATED BY '|';

mysql> LOAD DATA LOCAL INFILE 'orders.tbl' INTO TABLE ORDERS FIELDS TERMINATED BY '|';

mysql> LOAD DATA LOCAL INFILE 'lineitem.tbl' INTO TABLE LINEITEM FIELDS TERMINATED BY '|';

mysql> LOAD DATA LOCAL INFILE 'nation.tbl' INTO TABLE NATION FIELDS TERMINATED BY '|';

mysql> LOAD DATA LOCAL INFILE 'partsupp.tbl' INTO TABLE PARTSUPP FIELDS TERMINATED BY '|';

mysql> LOAD DATA LOCAL INFILE 'part.tbl' INTO TABLE PART FIELDS TERMINATED BY '|';

mysql> LOAD DATA LOCAL INFILE 'region.tbl' INTO TABLE REGION FIELDS TERMINATED BY '|';

mysql> LOAD DATA LOCAL INFILE 'supplier.tbl' INTO TABLE SUPPLIER FIELDS TERMINATED BY '|';

10)执行tpch目录下的dss.ri

mysql> \. dss.ri 11)由于查询中使用的是小写表名,而使用dss.ddl生成的表名是大写的,所以转换表名成小写

mysql> alter table NATION rename nation;

mysql> alter table SUPPLIER rename supplier;

mysql> alter table REGION rename region;

mysql> alter table PARTSUPP rename partsupp;

mysql> alter table PART rename part;

mysql> alter table ORDERS rename orders;

mysql> alter table LINEITEM rename lineitem;

mysql> alter table CUSTOMER rename customer;

mysql tpch_数据库MySQL与TPCH相关推荐

  1. php mysql 删除数据库,MySQL——删除数据库

    删除数据库 语法:DROP DATABASE 数据库名; 使用mysqladmin删除数据库 mysqladmin -u root -p drop bird 使用PHP脚本删除数据库 语法:mysql ...

  2. mysql oltp_oltp数据库mysql

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  3. python mysql limit_数据库mysql中LIMIT取值

    在查询数据的时候,我们想要查出最大或最小的值需要进行筛选.mysql数据库中有没有能实现这类取值的函数呢?小编想说LIMIT是个不错的选择,引申为限制的意思,在用法上和名称也非常贴合.接下来小编就带大 ...

  4. mysql test数据库_mysql数据库test

    Re介绍一下CentOS下MySQL数据库的安装与配置方法 MySQL数据库配置的具体步骤: 1.编辑MySQL的配置文件,使用vi /etc/my.cnf [root@sample ~]# vi / ...

  5. SQL Drop数据库– MySQL,PostgreSQL,SQL Server

    SQL Drop Database SQL Drop数据库 When we work with the database there are very rare cases when we want ...

  6. 阿里云mysql创建数据库服务器地址_阿里云服务器创建数据库操作流程

    阿里云服务器创建数据库操作流程,如何上传数据库阿里云. 在阿里云ecs云服务器上部署数据库后,在平常的操作中可能会遇到些问题,可以先做个大致的了解: 如果您想看更多的在ecs上的数据库的相关操作,请前 ...

  7. 数据库Mysql——sql语句大全

    注意:练习sql语句之前推荐先安装可视化软件如:SQLyog.Navicat 15 for MySQL 不然就在cmd小黑窗口敲命令练习. 一篇掌握Mysql--sql语句 #注意:sql语句不区分大 ...

  8. Mysql创建数据库用户

    Mysql为数据库创建用户 通常情况下我们在编写代码的过程中(也就是在开发过程中),一直使用的是我们本地的mysql,而且用户都是root用户,最高权限的用户,但是我们如果在公司上班的时候,公司的领导 ...

  9. MySQL新建数据库+用Navicat查看MySQL的方法

    MySQL新建数据库 数据库启动有问题的,见本人另外一篇博客:启动MySQL:net start mysql出现问题+本地Mysql忘记密码的修改方法 目前的用户名和密码都是root(因为好记!) 打 ...

最新文章

  1. 【其他】将幕布文章OPML转换为Markdown的方法
  2. java.lang.StackOverflowError 解决方法
  3. 002_模板 + 数据模型 = 输出
  4. 《Java程序设计》实验报告——Java的对象与类
  5. struct结构体和char型数组的相互转化
  6. java重载与重写的区别+重写父类equals方法的完美实现
  7. LindDotNetCore~职责链模式的应用
  8. 【janino】janino自定义函数报错A method named xx is not declared in any enclosing class nor through a static
  9. 《实践与思考》系列连载(6)——IT从业人员工作环境及状态调查 抽奖结果公布...
  10. Linux下与github建立ssh连接
  11. javaScript 中创建json/转换字符串为json
  12. 制作U盘macos系统
  13. deeping linux下安装配置nginx+django
  14. 发现一个记录笔记的方法(康奈尔笔记即5R笔记)
  15. Maven POM介绍
  16. 服务器和网站域名,网站服务器和域名的区别
  17. mogo语句常用用法
  18. 打通实体店面线上线下私域场景之微信小程序通道
  19. 计算机调出任务管理器的组合键是,如何打开任务管理器 打开任务管理器的方法【方法详解】...
  20. 读稻盛先生的《活法和干法》的十点灵感

热门文章

  1. MurmurHash 哈希算法
  2. Linux 安装与使用H2数据库
  3. DA-1-再生核Hilbert空间
  4. 3. [C++] cout输出精度控制及整齐输出
  5. 利用python爬取网页选考要求数据
  6. 无法向缓存服务器存入信息,关于服务器缓存知识科普?
  7. EasyExcel导出excel合并表头和数据
  8. 高精度IMU精对准原理和代码实现
  9. 票务商品设计(门票、火车票)
  10. javaWeb学习笔记 --- JSP