== DBT3 SF 30 Facebook1, cold data ==
|
|
== MariaDB 10.0-MDEV-83 + MWL253, DBT3 SF30, SEMI-JOIN + OPTIMAL PUSHDOWN
|
+------+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+----------------+----------+----------------------------------------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+----------------+----------+----------------------------------------------+
|
| 1 | PRIMARY | nation | ALL | PRIMARY | NULL | NULL | NULL | 25 | 4.00 | Using where; Using temporary; Using filesort |
|
| 1 | PRIMARY | supplier | ref | PRIMARY,i_s_nationkey | i_s_nationkey | 5 | dbt3.nation.n_nationkey | 12000 | 100.00 | |
|
| 1 | PRIMARY | partsupp | ref | PRIMARY,i_ps_partkey,i_ps_suppkey | i_ps_suppkey | 4 | dbt3.supplier.s_suppkey | 80 | 100.00 | |
|
| 1 | PRIMARY | part | eq_ref | PRIMARY | PRIMARY | 4 | dbt3.partsupp.ps_partkey | 26356106085562 | 0.00 | Using where; FirstMatch(supplier) |
|
| 4 | DEPENDENT SUBQUERY | lineitem | ref | i_l_shipdate,i_l_suppkey_partkey,i_l_partkey,i_l_suppkey | i_l_suppkey_partkey | 10 | dbt3.partsupp.ps_partkey,dbt3.partsupp.ps_suppkey | 7 | 100.00 | Using where |
|
+------+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+----------------+----------+----------------------------------------------+
|
(24 min 5.84 sec)
|
|
== MariaDB 10.0-MDEV-83 + MWL253, DBT3 SF30 IN-EXISTS (semijoin=off,materialization=off)
|
+------+--------------------+----------+-----------------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+-------+----------+----------------------------------------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+--------------------+----------+-----------------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+-------+----------+----------------------------------------------+
|
| 1 | PRIMARY | nation | ALL | PRIMARY | NULL | NULL | NULL | 25 | 4.00 | Using where; Using temporary; Using filesort |
|
| 1 | PRIMARY | supplier | ref | i_s_nationkey | i_s_nationkey | 5 | dbt3.nation.n_nationkey | 12000 | 100.00 | Using where |
|
| 2 | DEPENDENT SUBQUERY | partsupp | index_subquery | i_ps_suppkey | i_ps_suppkey | 4 | func | 80 | 100.00 | Using where |
|
| 4 | DEPENDENT SUBQUERY | lineitem | ref | i_l_shipdate,i_l_suppkey_partkey,i_l_partkey,i_l_suppkey | i_l_suppkey_partkey | 10 | dbt3.partsupp.ps_partkey,dbt3.partsupp.ps_suppkey | 7 | 100.00 | Using where |
|
| 3 | DEPENDENT SUBQUERY | part | unique_subquery | PRIMARY | PRIMARY | 4 | func | 23 | 4.17 | Using where |
|
+------+--------------------+----------+-----------------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+-------+----------+----------------------------------------------+
|
(26 min 9.44 sec)
|
+------+--------------------+----------+-----------------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+----------------+----------+----------------------------------------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+--------------------+----------+-----------------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+----------------+----------+----------------------------------------------+
|
| 1 | PRIMARY | nation | ALL | PRIMARY | NULL | NULL | NULL | 25 | 4.00 | Using where; Using temporary; Using filesort |
|
| 1 | PRIMARY | supplier | ref | i_s_nationkey | i_s_nationkey | 5 | dbt3.nation.n_nationkey | 12000 | 100.00 | Using where |
|
| 2 | DEPENDENT SUBQUERY | partsupp | index_subquery | i_ps_suppkey | i_ps_suppkey | 4 | func | 80 | 100.00 | Using where |
|
| 4 | DEPENDENT SUBQUERY | lineitem | ref | i_l_shipdate,i_l_suppkey_partkey,i_l_partkey,i_l_suppkey | i_l_suppkey_partkey | 10 | dbt3.partsupp.ps_partkey,dbt3.partsupp.ps_suppkey | 7 | 100.00 | Using where |
|
| 3 | DEPENDENT SUBQUERY | part | unique_subquery | PRIMARY | PRIMARY | 4 | func | 26356106085562 | 0.00 | Using where |
|
+------+--------------------+----------+-----------------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+----------------+----------+----------------------------------------------+
|
(24 min 13.82 sec)
|
|
== MariaDB 10.0-MDEV-83 + MWL253, DBT3 SF30, SEMI-JOIN (no pushdown)
|
+------+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+-------+----------+----------------------------------------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+-------+----------+----------------------------------------------+
|
| 1 | PRIMARY | nation | ALL | PRIMARY | NULL | NULL | NULL | 25 | 4.00 | Using where; Using temporary; Using filesort |
|
| 1 | PRIMARY | supplier | ref | PRIMARY,i_s_nationkey | i_s_nationkey | 5 | dbt3.nation.n_nationkey | 12000 | 100.00 | |
|
| 1 | PRIMARY | partsupp | ref | PRIMARY,i_ps_partkey,i_ps_suppkey | i_ps_suppkey | 4 | dbt3.supplier.s_suppkey | 80 | 100.00 | |
|
| 1 | PRIMARY | part | eq_ref | PRIMARY | PRIMARY | 4 | dbt3.partsupp.ps_partkey | 23 | 4.17 | Using where; FirstMatch(supplier) |
|
| 4 | DEPENDENT SUBQUERY | lineitem | ref | i_l_shipdate,i_l_suppkey_partkey,i_l_partkey,i_l_suppkey | i_l_suppkey_partkey | 10 | dbt3.partsupp.ps_partkey,dbt3.partsupp.ps_suppkey | 7 | 100.00 | Using where |
|
+------+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+-------+----------+----------------------------------------------+
|
(2 hours 4 min 20.71 sec)
|
|
== MySQL 5.6.10, DBT3 SF30, default plan
|
+----+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+------+----------+----------------------------------------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+----+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+------+----------+----------------------------------------------+
|
| 1 | PRIMARY | nation | ALL | PRIMARY | NULL | NULL | NULL | 25 | 100.00 | Using where; Using temporary; Using filesort |
|
| 1 | PRIMARY | supplier | ref | PRIMARY,i_s_nationkey | i_s_nationkey | 5 | dbt3.nation.n_nationkey | 2104 | 100.00 | NULL |
|
| 1 | PRIMARY | partsupp | ref | PRIMARY,i_ps_partkey,i_ps_suppkey | i_ps_suppkey | 4 | dbt3.supplier.s_suppkey | 33 | 100.00 | Using where |
|
| 1 | PRIMARY | part | eq_ref | PRIMARY | PRIMARY | 4 | dbt3.partsupp.ps_partkey | 1 | 100.00 | Using where; FirstMatch(supplier) |
|
| 4 | DEPENDENT SUBQUERY | lineitem | ref | i_l_shipdate,i_l_suppkey_partkey,i_l_partkey,i_l_suppkey | i_l_suppkey_partkey | 10 | dbt3.partsupp.ps_partkey,dbt3.partsupp.ps_suppkey | 3 | 100.00 | Using where |
|
+----+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+------+----------+----------------------------------------------+
|
(2 hours 4 min 21.30 sec)
|
|
== MySQL 5.6.10, DBT3 SF30, IN-EXISTS (semijoin=off,materialization=off)
|
+----+--------------------+----------+-----------------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+------+----------+----------------------------------------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+----+--------------------+----------+-----------------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+------+----------+----------------------------------------------+
|
| 1 | PRIMARY | nation | ALL | PRIMARY | NULL | NULL | NULL | 25 | 100.00 | Using where; Using temporary; Using filesort |
|
| 1 | PRIMARY | supplier | ref | i_s_nationkey | i_s_nationkey | 5 | dbt3.nation.n_nationkey | 2104 | 100.00 | Using where |
|
| 2 | DEPENDENT SUBQUERY | partsupp | index_subquery | i_ps_suppkey | i_ps_suppkey | 4 | func | 20 | 100.00 | Using where |
|
| 4 | DEPENDENT SUBQUERY | lineitem | ref | i_l_shipdate,i_l_suppkey_partkey,i_l_partkey,i_l_suppkey | i_l_suppkey_partkey | 10 | dbt3.partsupp.ps_partkey,dbt3.partsupp.ps_suppkey | 3 | 100.00 | Using where |
|
| 3 | DEPENDENT SUBQUERY | part | unique_subquery | PRIMARY | PRIMARY | 4 | func | 1 | 100.00 | Using where |
|
+----+--------------------+----------+-----------------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+------+----------+----------------------------------------------+
|
(24 min 1.92 sec)
|
|
|
|
== DBT3 SF 10 Desktop machine (16 GB RAM), SSD, cold data ==
|
|
== MariaDB 10.0-MDEV-83 + MWL253, DBT3 SF10, SEMI-JOIN + OPTIMAL PUSHDOWN
|
+------+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+----------------+----------+----------------------------------------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+----------------+----------+----------------------------------------------+
|
| 1 | PRIMARY | nation | ALL | PRIMARY | NULL | NULL | NULL | 25 | 4.00 | Using where; Using temporary; Using filesort |
|
| 1 | PRIMARY | supplier | ref | PRIMARY,i_s_nationkey | i_s_nationkey | 5 | dbt3.nation.n_nationkey | 4000 | 100.00 | |
|
| 1 | PRIMARY | partsupp | ref | PRIMARY,i_ps_partkey,i_ps_suppkey | i_ps_suppkey | 4 | dbt3.supplier.s_suppkey | 80 | 100.00 | |
|
| 1 | PRIMARY | part | eq_ref | PRIMARY | PRIMARY | 4 | dbt3.partsupp.ps_partkey | 26356106085562 | 0.00 | Using where; FirstMatch(supplier) |
|
| 4 | DEPENDENT SUBQUERY | lineitem | ref | i_l_shipdate,i_l_suppkey_partkey,i_l_partkey,i_l_suppkey | i_l_suppkey_partkey | 10 | dbt3.partsupp.ps_partkey,dbt3.partsupp.ps_suppkey | 7 | 100.00 | Using where |
|
+------+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+----------------+----------+----------------------------------------------+
|
(42.67 sec)
|
|
== MariaDB 10.0-MDEV-83 + MWL253, DBT3 SF10, IN-EXISTS
|
+------+--------------------+----------+-----------------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+------+----------+----------------------------------------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+--------------------+----------+-----------------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+------+----------+----------------------------------------------+
|
| 1 | PRIMARY | nation | ALL | PRIMARY | NULL | NULL | NULL | 25 | 4.00 | Using where; Using temporary; Using filesort |
|
| 1 | PRIMARY | supplier | ref | i_s_nationkey | i_s_nationkey | 5 | dbt3.nation.n_nationkey | 4000 | 100.00 | Using where |
|
| 2 | DEPENDENT SUBQUERY | partsupp | index_subquery | i_ps_suppkey | i_ps_suppkey | 4 | func | 80 | 100.00 | Using where |
|
| 4 | DEPENDENT SUBQUERY | lineitem | ref | i_l_shipdate,i_l_suppkey_partkey,i_l_partkey,i_l_suppkey | i_l_suppkey_partkey | 10 | dbt3.partsupp.ps_partkey,dbt3.partsupp.ps_suppkey | 7 | 100.00 | Using where |
|
| 3 | DEPENDENT SUBQUERY | part | unique_subquery | PRIMARY | PRIMARY | 4 | func | 23 | 4.17 | Using where |
|
+------+--------------------+----------+-----------------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+------+----------+----------------------------------------------+
|
(49.81 sec)
|
|
== MariaDB 10.0-MDEV-83 + MWL253, DBT3 SF10, SEMIJOIN (no pushdown)
|
+------+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+------+----------+----------------------------------------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+------+----------+----------------------------------------------+
|
| 1 | PRIMARY | nation | ALL | PRIMARY | NULL | NULL | NULL | 25 | 4.00 | Using where; Using temporary; Using filesort |
|
| 1 | PRIMARY | supplier | ref | PRIMARY,i_s_nationkey | i_s_nationkey | 5 | dbt3.nation.n_nationkey | 4000 | 100.00 | |
|
| 1 | PRIMARY | partsupp | ref | PRIMARY,i_ps_partkey,i_ps_suppkey | i_ps_suppkey | 4 | dbt3.supplier.s_suppkey | 80 | 100.00 | Using where |
|
| 1 | PRIMARY | part | eq_ref | PRIMARY | PRIMARY | 4 | dbt3.partsupp.ps_partkey | 23 | 4.17 | Using where; FirstMatch(supplier) |
|
| 4 | DEPENDENT SUBQUERY | lineitem | ref | i_l_shipdate,i_l_suppkey_partkey,i_l_partkey,i_l_suppkey | i_l_suppkey_partkey | 10 | dbt3.partsupp.ps_partkey,dbt3.partsupp.ps_suppkey | 7 | 100.00 | Using where |
|
+------+--------------------+----------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+------+----------+----------------------------------------------+
|
(3 min 18.53 sec)
|
|
== MySQL 5.6.9-rc DBT3 SF10, default plan
|
+----+--------------------+-------------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+---------+----------+-----------------------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+----+--------------------+-------------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+---------+----------+-----------------------------+
|
| 1 | PRIMARY | supplier | ALL | PRIMARY,i_s_nationkey | NULL | NULL | NULL | 101199 | 100.00 | Using where; Using filesort |
|
| 1 | PRIMARY | nation | eq_ref | PRIMARY | PRIMARY | 4 | dbt3.supplier.s_nationkey | 1 | 100.00 | Using where |
|
| 1 | PRIMARY | <subquery2> | eq_ref | <auto_key> | <auto_key> | 4 | dbt3.supplier.s_suppkey | 1 | 100.00 | NULL |
|
| 2 | MATERIALIZED | part | ALL | PRIMARY | NULL | NULL | NULL | 1996869 | 100.00 | Using where |
|
| 2 | MATERIALIZED | partsupp | ref | PRIMARY,i_ps_partkey,i_ps_suppkey | PRIMARY | 4 | dbt3.part.p_partkey | 2 | 100.00 | Using where |
|
| 4 | DEPENDENT SUBQUERY | lineitem | ref | i_l_shipdate,i_l_suppkey_partkey,i_l_partkey,i_l_suppkey | i_l_suppkey_partkey | 10 | dbt3.partsupp.ps_partkey,dbt3.partsupp.ps_suppkey | 3 | 100.00 | Using where |
|
+----+--------------------+-------------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+---------+----------+-----------------------------+
|
(4 min 14.36 sec)
|
|
|
|
== MariaDB 10.0-MDEV-83 + MWL253, DBT3 SF1 laptop
|
|
At this scale I couldn't produce the desired plan.
|
+------+--------------------+-------------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+--------+----------+----------------------------------------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+--------------------+-------------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+--------+----------+----------------------------------------------+
|
| 1 | PRIMARY | nation | ALL | PRIMARY | NULL | NULL | NULL | 25 | 4.00 | Using where; Using temporary; Using filesort |
|
| 1 | PRIMARY | supplier | ref | PRIMARY,i_s_nationkey | i_s_nationkey | 5 | dbt3.nation.n_nationkey | 400 | 100.00 | |
|
| 1 | PRIMARY | <subquery2> | eq_ref | distinct_key | distinct_key | 4 | func | 1 | 100.00 | |
|
| 2 | MATERIALIZED | part | ALL | PRIMARY | NULL | NULL | NULL | 200000 | 4.17 | Using where |
|
| 2 | MATERIALIZED | partsupp | ref | PRIMARY,i_ps_partkey,i_ps_suppkey | PRIMARY | 4 | dbt3.part.p_partkey | 4 | 100.00 | Using where |
|
| 4 | DEPENDENT SUBQUERY | lineitem | ref | i_l_shipdate,i_l_suppkey_partkey,i_l_partkey,i_l_suppkey | i_l_suppkey_partkey | 10 | dbt3.partsupp.ps_partkey,dbt3.partsupp.ps_suppkey | 7 | 100.00 | Using where |
|
+------+--------------------+-------------+--------+----------------------------------------------------------+---------------------+---------+---------------------------------------------------+--------+----------+----------------------------------------------+
|