简单查询:mysql - 非常慢,mariadb - 性能良好

时间:2017-04-07 06:16:26

标签: mysql sql performance mariadb

简单查询:

select *
from data.staff AS staff
left join data.contact AS workphones on staff.id = workphones.staff_with_work_phone_id

Mysql运行时间:5.3秒 MariaDb运行时间:0.016秒

联系人有~50000行 工作人员有大约600行。

是什么原因?
是否有可能在mysql上实现相同的结果?

谢谢!

解释MySql(v5.7.14):

+----+-------------+------------+------------+------+--------------------------------+------+---------+------+-------+----------+---------------------------------------+
| id | select_type | table      | partitions | type | possible_keys                  | key  | key_len | ref  | rows  | filtered | Extra                                 |
+----+-------------+------------+------------+------+--------------------------------+------+---------+------+-------+----------+---------------------------------------+
| 1  | SIMPLE      | staff      | NULL       | ALL  | NULL                           | NULL | NULL    | NULL | 606   | 100.00   | NULL                                  |
+----+-------------+------------+------------+------+--------------------------------+------+---------+------+-------+----------+---------------------------------------+
| 2  | SIMPLE      | workphones | NULL       | ALL  | FK_2f7824065c2c4b0fbe5c00da271 | NULL | NULL    | NULL | 49180 | 100.00   | Using where.                          |
|    |             |            |            |      |                                |      |         |      |       |          | Using join buffer (Block Nested Loop) |
+----+-------------+------------+------------+------+--------------------------------+------+---------+------+-------+----------+---------------------------------------+

解释MariaDB(v10.0.28):

+----+-------------+------------+------+--------------------------------+--------------------------------+---------+--------------------+-------+----------+-------+
| id | select_type | table      | type | possible_keys                  | key                            | key_len | ref                | rows  | filtered | Extra |
+----+-------------+------------+------+--------------------------------+--------------------------------+---------+--------------------+-------+----------+-------+
| 1  | SIMPLE      | staff      | ALL  |                                |                                |         |                    | 602   | 100.00   |       |
+----+-------------+------------+------+--------------------------------+--------------------------------+---------+--------------------+-------+----------+-------+
| 2  | SIMPLE      | workphones | ALL  | FK_1249f6bc1d68495090691f3ce02 | FK_1249f6bc1d68495090691f3ce02 | 9       | user_data.staff.id | 25476 | 100.00   |       |
+----+-------------+------------+------+--------------------------------+--------------------------------+---------+--------------------+-------+----------+-------+

其余验证条件相同。 测试进行了多次。

0 个答案:

没有答案