単純なクエリ:5.3秒:単純なクエリ:mysqlの - 非常に遅い、mariadb - 良好なパフォーマンス
select *
from data.staff AS staff
left join data.contact AS workphones on staff.id = workphones.staff_with_work_phone_id
MySQLは時間を実行します。
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 | |
+----+-------------+------------+------+--------------------------------+--------------------------------+---------+--------------------+-------+----------+-------+
は同一です。 試験は何度も実施された。
これらのデータベースのどのバージョンですか?彼らはどちらも正しく調整されていますか?同じハードウェアですか?キャッシュがウォーミングされたことを確認するためにテストを複数回実行しましたか?サーバーはどちらもアイドル状態ですか? – tadman
両方のサーバーのクエリから** EXPLAIN **を表示 –
私は必要な情報を追加しました。 – Vladimir