DBT3 Benchmark Results MyISAM
Introduction
This page shows the results for benchmarking the following configuration:
MariaDB 5.3.2 + MyISAM
MariaDB 5.5.18 + MyISAM
MySQL 5.5.19 + MyISAM
MySQL 5.6.4 + MyISAM
The test is performed using the automation script /mariadb-tools/dbt3_benchmark/launcher.pl
.
Details about this automation script can be found on the DBT3 automation scripts page.
Hardware
The tests were performed on our facebook-maria1
machine. It has the following parameters:
CPU: 16 Intel® Xeon® CPU L5520 @ 2.27GHz
Memory: Limited to 16 GB out of 72 by adding 'mem=16G' parameter to /boot/grub/menu.lst
Logical disk: HDD 2 TB
Operating system:
Scale factor 30
This test was performed with the following parameters:
Scale factor: 30
Query timeout: 2 hours
Number of tests per query: 1
Total DB size on disk: about 50GB
Available memory: 16 GB
NOTE: The available memory is controlled by a parameter mem=16G
added to the file /boot/grub/menu.lst
Steps to reproduce
Follow the instructions in DBT3 automation scripts to prepare the environment for the test.
Before you run the test, ensure that the settings in the test configuration files match your prepared environment. For more details on the test configuration, please, refer to theTest configuration parameters.
After the environment is prepared, the following command should be executed in the shell:
Compared configurations
The following configurations have been compared in this test:
Case 1: MariaDB 5.3.2 + MyISAM
Here are the common options that the mysqld server was started with:
Case 2: MariaDB 5.5.18 + MyISAM
Uses the same configuration file as MariaDB 5.3.2 in Case 1.
Case 3: MySQL 5.5.19 + MyISAM
Here are the common options that the mysqld server was started with:
Case 4: MySQL 5.6.4 + MyISAM
Here are the common options that the mysqld server was started with:
The server has been restarted between each query run and the caches have been cleared between each query run.
Results (without q20)
Here is the graphics of the results:
(Smaller bars are better)

NOTE: Queries that are cut off by the graphics have timed out the period of 2 hours.
Here are the actual results in seconds (smaller is better):
Configuration
MariaDB 5.3.2 + MyISAM
Ratio
MariaDB 5.5.18 + MyISAM
Ratio
MySQL 5.5.19 + MyISAM
Ratio
MySQL 5.6.4 + MyISAM
Ratio
1.sql
261
1.00
308
1.18
259
0.99
277
1.06
2.sql
47
1.00
48
1.02
499
10.62
49
1.04
2-opt.sql
46
1.00
48
1.04
-
-
-
-
3.sql
243
1.00
246
1.01
>7200
-
1360
5.60
4.sql
137
1.00
135
0.99
4117
30.05
137
1.00
5.sql
181
1.00
187
1.03
6164
34.06
1254
6.93
6.sql
198
1.00
205
1.04
>7200
-
194
0.98
7.sql
779
1.00
896
1.15
814
1.04
777
1.00
8.sql
270
1.00
287
1.06
749
2.77
1512
5.60
9.sql
252
1.00
254
1.01
>7200
-
298
1.18
10.sql
782
1.00
854
1.09
>7200
-
1881
2.41
11.sql
45
1.00
36
0.80
357
7.93
49
1.09
12.sql
211
1.00
217
1.03
>7200
-
213
1.01
13.sql
251
1.00
236
0.94
1590
6.33
244
0.97
14.sql
88
1.00
91
1.03
1590
18.07
94
1.07
15.sql
162
1.00
164
1.01
4580
28.27
165
1.02
16.sql
154
1.00
152
0.99
174
1.13
173
1.12
17.sql
1493
1.00
1495
1.00
865
0.58
794
0.53
17-opt1.sql
795
1.00
794
1.00
862
1.08
794
1.00
17-opt2.sql
1482
1.00
1458
0.98
2167
1.46
1937
1.31
18.sql
971
1.00
931
0.96
>7200
-
>7200
-
18-opt.sql
121
1.00
125
1.03
-
-
-
-
19.sql
212
1.00
212
1.00
2004
9.45
61
0.29
19-opt1.sql
59
1.00
59
1.00
1999
33.88
61
1.03
19-opt2.sql
260
1.00
216
0.83
443
1.70
236
0.91
20.sql
-
-
-
-
-
-
-
-
21.sql
173
1.00
179
1.03
>7200
-
183
1.06
22.sql
13
1.00
14
1.08
10
0.77
13
1.00
Version
5.3.2-MariaDB-beta
5.5.18-MariaDB
5.5.19
5.6.4-m7
NOTE: The columns named "Ratio" are calculated values of the ratio between the
current value compared to the value in the first test configuration. The
formula for it is (current_value/value_in_first_row)
. For example if MariaDB
5.3.2 (the first column) handles a query for 100 seconds and MySQL 5.6.4 (the last
configuration) handles the same query for 120 seconds, the ratio will be120/100 = 1.20
. This means that it takes MySQL 5.6.4 20% more time to handle
the same query.
The archived folder with all the results and details for that benchmark can be downloaded from here:MyISAM s30 on facebook-maria1
Notes
Queries 2-opt.sql and 18-opt.sql are tested only for MariaDB 5.3.2 and MariaDB 5.5.18
Additional startup parameters for 2_opt:
Additional startup parameters for 18_opt:
Additional modifications for 17-opt1:
Additional modifications for 17-opt2:
Additional modifications for 19-opt1:
Additional modifications for 19-opt2:
Benchmark for q20
This benchmarked only q20 with the same settings as described above for the other queries. The only difference is the timeout that was used: 30000 seconds (8 hours and 20 min).
Compared cases
The benchmark for q20 compares the following cases:
q20.sql - the original query is run with the IN-TO-EXISTS strategy for all servers. The following optimizer switches were used for MariaDB:
q20-opt0.sql - the original query is changed so that the same join order is chosen as for the two subsequent variants that test materialization where this order is optimal. The join order is:
Since the IN-TO-EXISTS strategy is essentially the same for both MariaDB and MySQL, this query was tested for MySQL only.
q20-opt1.sql - modifies the original query in two ways:
enforces the MATERIALIZATION strategy, and
enforces an optimal JOIN order via straight_join as follows:
q20-opt1.sql uses the following optimizer switches for MariaDB:
q20-opt2.sql - the same as q20-opt1.sql but allows the optimizer to choose the subquery strategy via the following switch:
This switch results in the choice of SJ-MATERIALIZATION.
NOTE: For MySQL there are no such optimizer-switch parameters, and the tests were started without any additional startup parameters. The default algorithm in MySQL is in_to_exists.
Results for q20
Here is the graphics of the results of the benchmarked q20: (Smaller bars are better)

NOTE: Queries that are cut off by the graphics have timed out the period of 30000 seconds.
Here are the actual results in seconds (smaller is better):
Configuration
20.sql
20-opt0.sql
20-opt1.sql
20-opt2.sql
Version
Query and explain details
This page is licensed: CC BY-SA / Gnu FDL
Last updated
Was this helpful?