1、安裝mySQL
先安裝: MySQL Server,
再安裝: MySQL Client, MySQL Query Browser, MySQL Navigator, MySQL Administrator,反正能裝的我都裝了,這個(gè)過(guò)程很簡(jiǎn)單
2、下載TPC-H
現(xiàn)在的最新版是2.14,一共47MB.
http://www.tpc.org/tpch/spec/tpch_2_14_0.zip
3、解壓到虛擬機(jī)
4、生成數(shù)據(jù)并加載到MySQL
1) 打開(kāi)終端,取得root權(quán)限
2)創(chuàng)建MySQL用戶(hù)、數(shù)據(jù)庫(kù)、及授權(quán)
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)運(yùn)行tpch目錄下的dss.ddl文件,創(chuàng)建tpch數(shù)據(jù)庫(kù)中的表
mysql> \. tpch/gen/dss.ddl
4)然后在tpch文件目錄下,把makefile復(fù)制并改名成makefile,接著修改makefile文件
shell> cp makefile.suite makefile
shell> vim makefile
makefile中相應(yīng)項(xiàng)后面填寫(xiě):
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)執(zhí)行makefile
shell> make
7)生成需要用的數(shù)據(jù)
shell> ./dbgen -s 1
-s 數(shù)據(jù)規(guī)模因子,1為1G的數(shù)據(jù)量
8)修改tpch目錄下的dss.ri文件
1.刪除 "CONNECT TO TPCD;"
2.刪除所有的 "TPCH."(注意有個(gè)點(diǎn))
3.刪除所有的"COMMIT WORK;"(注意分號(hào)也要?jiǎng)h除)
9)登錄MySQL,并載入之前生成的數(shù)據(jù)進(jìn)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)執(zhí)行tpch目錄下的dss.ri
mysql> \. dss.ri
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;