Skip to content

Commit 2f1b701

Browse files
committed
auto
1 parent 327fc65 commit 2f1b701

19 files changed

+3250
-0
lines changed

Diff for: .DS_Store

6 KB
Binary file not shown.

Diff for: .vscode/settings.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"workbench.colorCustomizations": {
3+
"activityBar.background": "#2F2F07",
4+
"titleBar.activeBackground": "#41420A",
5+
"titleBar.activeForeground": "#FBFBE7"
6+
}
7+
}

Diff for: README.md

+44
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,46 @@
11
# tpch_testdb
22
test tpch data for experiment
3+
4+
Current data:
5+
6+
- 120k tpch no skew data
7+
8+
Supported database:
9+
10+
- mysql/mariadb
11+
- sqlite3
12+
13+
# structure
14+
15+
- `scripts` for importing scripts
16+
- `tbl/tpch120k_tbl` for raw tbl tpch 120k data
17+
- `db`
18+
- `*.sql`: dumps from databases
19+
- `*.db`: for sqlite3 databse
20+
21+
22+
# Usage
23+
24+
## MySQL
25+
26+
Directly import `*_mysql_dump.sql` in `db` folder.
27+
28+
## SQLite3
29+
30+
1. Directly use `*_sqlite3.db` in `db` folder.
31+
2. Import `*_sqlite3_dump.sql` in a SQLite database prompt.
32+
33+
34+
# Other
35+
36+
## TPCH Database Schema
37+
38+
Please read the import script in `scripts` folder.
39+
40+
## Data Distribution of TPCH Database
41+
42+
Please read `DistTest.sql` in `scripts` folder. (Originally from TPC-H toolkit.)
43+
44+
45+
46+

Diff for: db/tpch120k_mysql_dump.sql

+1,106
Large diffs are not rendered by default.

Diff for: db/tpch120k_sqlite3.db

172 KB
Binary file not shown.

Diff for: db/tpch120k_sqlite3_dump.sql

+936
Large diffs are not rendered by default.

Diff for: makefile

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
all:
2+
3+
4+
commit:
5+
git pull
6+
git add .
7+
git commit -am 'auto'
8+
git push

Diff for: scripts/DistTest.sql

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
--
2+
-- Lineitem table
3+
--
4+
select l_partkey, count(*) as cnt from lineitem group by l_partkey order by cnt desc;
5+
6+
select l_orderkey, count(*) as cnt from lineitem group by l_orderkey order by cnt desc;
7+
8+
select l_shipdate, count(*) as cnt from lineitem group by l_shipdate order by cnt desc;
9+
10+
select l_commitdate, count(*) as cnt from lineitem group by l_commitdate order by cnt desc;
11+
12+
select l_receiptdate, count(*) as cnt from lineitem group by l_receiptdate order by cnt desc;
13+
14+
select l_returnflag, count(*) as cnt from lineitem group by l_returnflag order by cnt desc;
15+
16+
17+
--
18+
-- Orders table
19+
--
20+
select o_custkey, count(*) as cnt from orders group by o_custkey order by cnt desc;
21+
22+
select o_orderdate, count(*) as cnt from orders group by o_orderdate order by cnt desc;
23+
24+
select o_shippriority, count(*) as cnt from orders group by o_shippriority order by cnt desc;
25+
26+
27+
--
28+
-- Customer table
29+
--
30+
select c_nationkey, count(*) as cnt from customer group by c_nationkey order by cnt desc;
31+
32+
select c_acctbal, count(*) as cnt from customer group by c_acctbal order by cnt desc;
33+
34+
select c_mktsegment, count(*) as cnt from customer group by c_mktsegment order by cnt desc;
35+
36+
37+
38+
--
39+
-- Supplier table
40+
--
41+
select s_nationkey, count(*) as cnt from supplier group by s_nationkey order by cnt desc;
42+
43+
select s_acctbal, count(*) as cnt from supplier group by s_acctbal order by cnt desc;
44+
45+
46+
--
47+
-- Partsupp table
48+
--
49+
select ps_supplycost, count(*) as cnt from partsupp group by ps_supplycost order by cnt desc;
50+
51+
select ps_availqty, count(*) as cnt from partsupp group by ps_availqty order by cnt desc;
52+
53+
54+
55+
select p_size, count(*) as cnt from part group by p_size order by cnt desc;
56+
57+
select p_brand, count(*) as cnt from part group by p_brand order by cnt desc;
58+
59+

Diff for: scripts/tpch-import-mysql.sql

+104
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
CREATE TABLE customer
2+
(C_CUSTKEY int(11) NOT NULL,
3+
C_NAME varchar(25) NOT NULL,
4+
C_ADDRESS varchar(40) NOT NULL,
5+
C_NATIONKEY int(11) NOT NULL,
6+
C_PHONE char(15) NOT NULL,
7+
C_ACCTBAL decimal(15,2) NOT NULL,
8+
C_MKTSEGMENT char(10) NOT NULL,
9+
C_COMMENT varchar(117) NOT NULL,
10+
PRIMARY KEY (C_CUSTKEY));
11+
12+
CREATE TABLE lineitem (
13+
L_ORDERKEY int(11) NOT NULL,
14+
L_PARTKEY INT(11) NOT NULL,
15+
L_SUPPKEY INT(11) NOT NULL,
16+
L_LINENUMBER INT(11) NOT NULL,
17+
L_QUANTITY DECIMAL(15,2) NOT NULL,
18+
L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL,
19+
L_DISCOUNT DECIMAL(15,2) NOT NULL,
20+
L_TAX DECIMAL(15,2) NOT NULL,
21+
L_RETURNFLAG CHAR(1) NOT NULL,
22+
L_LINESTATUS CHAR(1) NOT NULL,
23+
L_SHIPDATE DATE NOT NULL,
24+
L_COMMITDATE DATE NOT NULL,
25+
L_RECEIPTDATE DATE NOT NULL,
26+
L_SHIPINSTRUCT CHAR(25) NOT NULL,
27+
L_SHIPMODE CHAR(10) NOT NULL,
28+
L_COMMENT VARCHAR(44) NOT NULL,
29+
PRIMARY KEY (L_ORDERKEY, L_LINENUMBER));
30+
31+
create table nation (
32+
N_NATIONKEY INT(11) NOT NULL,
33+
N_NAME CHAR(25) NOT NULL,
34+
N_REGIONKEY INT(11) NOT NULL,
35+
N_COMMENT VARCHAR(152),
36+
PRIMARY KEY (N_NATIONKEY));
37+
38+
create table orders (
39+
O_ORDERKEY INT(11) NOT NULL,
40+
O_CUSTKEY INT(11) NOT NULL,
41+
O_ORDERSTATUS CHAR(1) NOT NULL,
42+
O_TOTALPRICE DECIMAL(15,2) NOT NULL,
43+
O_ORDERDATE DATE NOT NULL,
44+
O_ORDERPRIORITY CHAR(15) NOT NULL,
45+
O_CLERK CHAR(15) NOT NULL,
46+
O_SHIPPRIORITY INT(11) NOT NULL,
47+
O_COMMENT VARCHAR(79) NOT NULL,
48+
PRIMARY KEY (O_ORDERKEY));
49+
50+
create table part (
51+
P_PARTKEY INT(11) NOT NULL,
52+
P_NAME VARCHAR(55) NOT NULL,
53+
P_MFGR CHAR (25) NOT NULL,
54+
P_BRAND CHAR(10) NOT NULL,
55+
P_TYPE VARCHAR(25) NOT NULL,
56+
P_SIZE INT(11) NOT NULL,
57+
P_CONTAINER CHAR(10) NOT NULL,
58+
P_RETAILPRICE DECIMAL(15,2) NOT NULL,
59+
P_COMMENT VARCHAR(23) NOT NULL,
60+
Primary Key (P_PARTKEY));
61+
62+
create table partsupp (
63+
PS_PARTKEY INT(11) NOT NULL,
64+
PS_SUPPKEY INT(11) NOT NULL,
65+
PS_AVAILQTY INT(11) NOT NULL,
66+
PS_SUPPLYCOST DECIMAL(15,2) NOT NULL,
67+
PS_COMMENT VARCHAR(199) NOT NULL,
68+
PRIMARY KEY (PS_PARTKEY, PS_SUPPKEY));
69+
70+
create table region (
71+
R_REGIONKEY INT(11) NOT NULL,
72+
R_NAME CHAR(25) NOT NULL,
73+
R_COMMENT VARCHAR(152),
74+
PRIMARY KEY (R_REGIONKEY));
75+
76+
create table supplier (
77+
S_SUPPKEY INT(11) NOT NULL,
78+
S_NAME CHAR(25) NOT NULL,
79+
S_ADDRESS VARCHAR(40) NOT NULL,
80+
S_NATIONKEY INT(11) NOT NULL,
81+
S_PHONE CHAR(15) NOT NULL,
82+
S_ACCTBAL DECIMAL(15,2) NOT NULL,
83+
S_COMMENT VARCHAR(101) NOT NULL,
84+
PRIMARY KEY (S_SUPPKEY));
85+
86+
ALTER TABLE supplier ADD FOREIGN KEY (S_NATIONKEY) REFERENCES nation (N_NATIONKEY);
87+
ALTER TABLE partsupp ADD FOREIGN KEY (PS_PARTKEY) REFERENCES part (P_PARTKEY);
88+
ALTER TABLE partsupp ADD FOREIGN KEY (PS_SUPPKEY) REFERENCES supplier (S_SUPPKEY);
89+
ALTER TABLE customer ADD FOREIGN KEY (C_NATIONKEY) REFERENCES nation (N_NATIONKEY);
90+
ALTER TABLE orders ADD FOREIGN KEY (O_CUSTKEY) REFERENCES customer (C_CUSTKEY);
91+
ALTER TABLE lineitem ADD FOREIGN KEY (L_ORDERKEY) REFERENCES orders (O_ORDERKEY);
92+
ALTER TABLE lineitem ADD FOREIGN KEY (L_PARTKEY) REFERENCES part (P_PARTKEY);
93+
ALTER TABLE lineitem ADD FOREIGN KEY (L_SUPPKEY) REFERENCES supplier (S_SUPPKEY);
94+
ALTER TABLE nation ADD FOREIGN KEY (N_REGIONKEY) REFERENCES region (R_REGIONKEY);
95+
96+
97+
LOAD DATA LOCAL INFILE 'supplier.tbl' INTO TABLE supplier FIELDS TERMINATED BY '|';
98+
LOAD DATA LOCAL INFILE 'region.tbl' INTO TABLE region FIELDS TERMINATED BY '|';
99+
LOAD DATA LOCAL INFILE 'partsupp.tbl' INTO TABLE partsupp FIELDS TERMINATED BY '|';
100+
LOAD DATA LOCAL INFILE 'part.tbl' INTO TABLE part FIELDS TERMINATED BY '|';
101+
LOAD DATA LOCAL INFILE 'orders.tbl' INTO TABLE orders FIELDS TERMINATED BY '|';
102+
LOAD DATA LOCAL INFILE 'nation.tbl' INTO TABLE nation FIELDS TERMINATED BY '|';
103+
LOAD DATA LOCAL INFILE 'lineitem.tbl' INTO TABLE lineitem FIELDS TERMINATED BY '|';
104+
LOAD DATA LOCAL INFILE 'customer.tbl' INTO TABLE customer FIELDS TERMINATED BY '|';

Diff for: scripts/tpch-import-sqlite.sql

+104
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
-- command: sqlite3 database.db < script_name.sql
2+
3+
DROP TABLE if exists customer;
4+
DROP TABLE if exists lineitem;
5+
DROP TABLE if exists nation;
6+
DROP TABLE if exists orders;
7+
DROP TABLE if exists part;
8+
DROP TABLE if exists partsupp;
9+
DROP TABLE if exists region;
10+
DROP TABLE if exists supplier;
11+
12+
CREATE TABLE customer
13+
(C_CUSTKEY int NOT NULL,
14+
C_NAME varchar(25) NOT NULL,
15+
C_ADDRESS varchar(40) NOT NULL,
16+
C_NATIONKEY int NOT NULL,
17+
C_PHONE char(15) NOT NULL,
18+
C_ACCTBAL decimal(15,2) NOT NULL,
19+
C_MKTSEGMENT char(10) NOT NULL,
20+
C_COMMENT varchar(117) NOT NULL,
21+
PRIMARY KEY (C_CUSTKEY));
22+
23+
CREATE TABLE lineitem (
24+
L_ORDERKEY int NOT NULL,
25+
L_PARTKEY INT NOT NULL,
26+
L_SUPPKEY INT NOT NULL,
27+
L_LINENUMBER INT NOT NULL,
28+
L_QUANTITY DECIMAL(15,2) NOT NULL,
29+
L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL,
30+
L_DISCOUNT DECIMAL(15,2) NOT NULL,
31+
L_TAX DECIMAL(15,2) NOT NULL,
32+
L_RETURNFLAG CHAR(1) NOT NULL,
33+
L_LINESTATUS CHAR(1) NOT NULL,
34+
L_SHIPDATE DATE NOT NULL,
35+
L_COMMITDATE DATE NOT NULL,
36+
L_RECEIPTDATE DATE NOT NULL,
37+
L_SHIPINSTRUCT CHAR(25) NOT NULL,
38+
L_SHIPMODE CHAR(10) NOT NULL,
39+
L_COMMENT VARCHAR(44) NOT NULL,
40+
PRIMARY KEY (L_ORDERKEY, L_LINENUMBER));
41+
42+
create table nation (
43+
N_NATIONKEY INT NOT NULL,
44+
N_NAME CHAR(25) NOT NULL,
45+
N_REGIONKEY INT NOT NULL,
46+
N_COMMENT VARCHAR(152),
47+
PRIMARY KEY (N_NATIONKEY));
48+
49+
create table orders (
50+
O_ORDERKEY INT NOT NULL,
51+
O_CUSTKEY INT NOT NULL,
52+
O_ORDERSTATUS CHAR(1) NOT NULL,
53+
O_TOTALPRICE DECIMAL(15,2) NOT NULL,
54+
O_ORDERDATE DATE NOT NULL,
55+
O_ORDERPRIORITY CHAR(15) NOT NULL,
56+
O_CLERK CHAR(15) NOT NULL,
57+
O_SHIPPRIORITY INT NOT NULL,
58+
O_COMMENT VARCHAR(79) NOT NULL,
59+
PRIMARY KEY (O_ORDERKEY));
60+
61+
create table part (
62+
P_PARTKEY INT NOT NULL,
63+
P_NAME VARCHAR(55) NOT NULL,
64+
P_MFGR CHAR (25) NOT NULL,
65+
P_BRAND CHAR(10) NOT NULL,
66+
P_TYPE VARCHAR(25) NOT NULL,
67+
P_SIZE INT NOT NULL,
68+
P_CONTAINER CHAR(10) NOT NULL,
69+
P_RETAILPRICE DECIMAL(15,2) NOT NULL,
70+
P_COMMENT VARCHAR(23) NOT NULL,
71+
Primary Key (P_PARTKEY));
72+
73+
create table partsupp (
74+
PS_PARTKEY INT NOT NULL,
75+
PS_SUPPKEY INT NOT NULL,
76+
PS_AVAILQTY INT NOT NULL,
77+
PS_SUPPLYCOST DECIMAL(15,2) NOT NULL,
78+
PS_COMMENT VARCHAR(199) NOT NULL,
79+
PRIMARY KEY (PS_PARTKEY, PS_SUPPKEY));
80+
81+
create table region (
82+
R_REGIONKEY INT NOT NULL,
83+
R_NAME CHAR(25) NOT NULL,
84+
R_COMMENT VARCHAR(152),
85+
PRIMARY KEY (R_REGIONKEY));
86+
87+
create table supplier (
88+
S_SUPPKEY INT NOT NULL,
89+
S_NAME CHAR(25) NOT NULL,
90+
S_ADDRESS VARCHAR(40) NOT NULL,
91+
S_NATIONKEY INT NOT NULL,
92+
S_PHONE CHAR(15) NOT NULL,
93+
S_ACCTBAL DECIMAL(15,2) NOT NULL,
94+
S_COMMENT VARCHAR(101) NOT NULL,
95+
PRIMARY KEY (S_SUPPKEY));
96+
97+
.mode column
98+
.import 'customer.tbl' customer
99+
.import 'lineitem.tbl' lineitem
100+
.import 'orders.tbl' orders
101+
.import 'part.tbl' part
102+
.import 'partsupp.tbl' partsupp
103+
.import 'region.tbl' region
104+
.import 'supplier.tbl' supplier

Diff for: tbl/.DS_Store

6 KB
Binary file not shown.

Diff for: tbl/tpch120k_tbl/customer.tbl

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
1|Customer#000000001|j5BkijBM1PkCy0O1m|15|25-989-741-2988|711.56|BUILDING|AN0PL zMkz5kz6N64kM wnAxz6MMgx5B6Nl1ljnM4i QmA4ixB nMgB11jQRi61z70 76NlmCMNPg1yhQjR7myP0|
2+
2|Customer#000000002|75S7P5k5ClzmQ|13|23-768-687-3665|121.65|AUTOMOBILE|7O2hQQAmzC0mzMxQCnAxNkAPQ40Ly R|
3+
3|Customer#000000003|407LO15gnn6Q45MNymCwwLx1OC73Qz|1|11-719-748-3364|7498.12|AUTOMOBILE|y0gRP7h OwL3M6CCSxySRk4hym nP5lhR|
4+
4|Customer#000000004|yzwwR1BS537kRzN0nQ4hkx4|4|14-128-190-5944|2866.83|MACHINERY|75MgBC06n3gk4zlwnLgN24yB61SgOA2QwgM 2xlnnPlAxNQ25l14x213wnAkBB64C|
5+
5|Customer#000000005|m4nnNlwB35BN4y263gBz0mQh74m50h|3|13-750-942-6364|794.47|HOUSEHOLD|ROh40lCjSPyLRSnzyjjjB5mwn3S4xklC4LiQlzh RjCLNOBBgl74L2wj1mN3LPzli3iPNjBSg0R707CSn5QAlLSyAnx6nw4nNQw OA2z5333|
6+
6|Customer#000000006|x0LSl 7Owj NRAzQ1Nny6k w i7Q5NSzA|20|30-114-968-4951|7638.57|AUTOMOBILE|C367xn3nSN2RxkRRM 1j Rz44Lm7gNjl0Pj7g1h2NhPAyMNShgxO4P1nh3Lnyn4zzx310QR1550w6zz4xOg4BCg16zwAkQM nCMQlk|
7+
7|Customer#000000007|kgBy iSO4CjAk5M 2B1AM7 5Bg6Siki0|18|28-190-982-9759|9561.95|AUTOMOBILE|36MP7RxA0nQBlPOB2RRQQNjSRSxzCzL0zg1hLP7RhCA715k5n 5O320imQwQB2CNB|
8+
8|Customer#000000008| g1kShzw6nMxBO3OS2 hxm071n2g64jBjl5x|17|27-147-574-9335|6819.74|BUILDING|nR1BR4N6LPgAmjmm6j7xxCS14P6h2l0yyLnlnCl4ggmAQmg7C7Sk4Ol5Ai3 |
9+
9|Customer#000000009|0OkMNLQ15C6M3m6Oz1 w4hLzQ n7MQ|8|18-338-906-3675|8324.07|FURNITURE|Mk1A0lx Oi L7M5M1y B7NOPLiMg3x4NO1gSmRmLhMBkA6My|
10+
10|Customer#000000010|gP CPninAMjShRSQhSilyx|5|15-741-346-9870|2753.54|HOUSEHOLD|M7xj7Bgnnm36lzC641Mzlgl3RiQR2ljNLBhz043wnMxNPB043MwOO6Ph3j6w4LiyzmO4nz5n0BQLPOR|
11+
11|Customer#000000011|ig3RllhSmO|23|33-464-151-3439|-272.60|BUILDING|hkN 5NSkNSMxQk7mi6mxik4z3Ri5L60MnRM w0jQg7znwlLPB0wk7R Pzx25LSj1wnAS1ASOl 5B4jPSR4nMCz2i4kzmRl|
12+
12|Customer#000000012|zNQh5iQ2m5ngAil0 6zgymLMyN5AMLyx7 1|13|23-791-276-1263|3396.49|HOUSEHOLD|QQw6Rh gOl5hh 0O4mC54MlSnhCl3C2ANMijiiN|
13+
13|Customer#000000013|g6RiRhLN2AN7 mQ6Mg|3|13-761-547-5974|3857.34|BUILDING|nCAQ1N43xngni7l76L0A3AL6lgiR4L734in20zRQ710iPQL7Onz70lCk4RNPNkwk4On13RwR|
14+
14|Customer#000000014|zQi 7k2P Al7kO7SjwQlkylh3nMQ7R4z40jQj|1|11-845-129-3851|5266.30|FURNITURE|R24M66MxlORPN O 6nnL2wjl7 SSk LxxjlwAPyCwShQ2MNl0BzLnxMnlNmC1k0P5ymQjQwLMnzk A |
15+
15|Customer#000000015|hCMPPimAmlk2gnzlB2|23|33-687-542-7601|2788.52|HOUSEHOLD| Q4 y6043A6SS7PLL7nSQzyg6B0SMN4 hihMBzgSN2lBh0005ROSkLw 52B321BBA7RN1NlkNP2BhhS1 m6ihQB6jlyhw LMziLNQk|

0 commit comments

Comments
 (0)