EXPLAIN ANALYZE: -> Limit: 10 row(s) (cost=194554 rows=10) (actual time=0.0813..0.096 rows=10 loops=1) -> Left hash join (test_join2.client_id = test_client.id) (cost=194554 rows=994944) (actual time=0.0806..0.0946 rows=10 loops=1) -> Left hash join (test_join1.client_id = test_client.id) (cost=147022 rows=994944) (actual time=0.0643..0.0776 rows=10 loops=1) -> Table scan on test_client (cost=100801 rows=994944) (actual time=0.0482..0.0607 rows=10 loops=1) -> Hash -> Table scan on test_join1 (cost=0.0478 rows=1) (actual time=0.00996..0.00996 rows=0 loops=1) -> Hash -> Table scan on test_join2 (cost=0.0955 rows=1) (actual time=0.0105..0.0105 rows=0 loops=1) EXPLAIN: +--+-----------+-----------+----------+----+-------------+----+-------+----+------+--------+------------------------------------------+ |id|select_type|table |partitions|type|possible_keys|key |key_len|ref |rows |filtered|Extra | +--+-----------+-----------+----------+----+-------------+----+-------+----+------+--------+------------------------------------------+ |1 |SIMPLE |test_client|null |ALL |null |null|null |null|994944|100 |null | |1 |SIMPLE |test_join1 |null |ALL |client_id |null|null |null|1 |100 |Using where; Using join buffer (hash join)| |1 |SIMPLE |test_join2 |null |ALL |client_id |null|null |null|1 |100 |Using where; Using join buffer (hash join)| +--+-----------+-----------+----------+----+-------------+----+-------+----+------+--------+------------------------------------------+