MariaDB [federated]> explain DELETE FROM `OUTR1` USING ( -> -> ( -> -> `federated`.`B` `OUTR2` -> -> JOIN `federated`.`D` `OUTR3` -> -> ON (`federated`.`OUTR2`.`pk` > `federated`.`OUTR3`.`col_int_key`) -> -> ) -> -> LEFT JOIN `federated`.`D` `OUTR1` -> -> ON (`federated`.`OUTR1`.`col_int_nokey` = `federated`.`OUTR2`.`col_int_key`) -> -> ) -> -> WHERE -> -> `federated`.`OUTR1`.`col_int_key` IN ( -> -> SELECT -> -> `federated`.`INNR1`.`pk` -> -> FROM -> -> `federated`.`CC` `INNR1` -> -> WHERE -> -> `federated`.`INNR1`.`col_int_nokey` <= 1 -> -> OR `federated`.`INNR1`.`pk` <= 4 -> -> -> -> UNION -> -> -> -> SELECT -> -> `federated`.`INNR1`.`pk` -> -> FROM -> -> `federated`.`AA` `INNR1` -> -> GROUP BY -> -> `federated`.`INNR1`.`col_int_uniq` -> -> HAVING -> -> COUNT(0) >= 2 -> -> ); +------+--------------------+------------+--------+---------------+---------+---------+------+------+------------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+--------------------+------------+--------+---------------+---------+---------+------+------+------------------------------------------------+ | 1 | PRIMARY | OUTR2 | index | PRIMARY | k_int | 5 | NULL | 100 | Using index | | 1 | PRIMARY | OUTR3 | ALL | k_int | NULL | NULL | NULL | 100 | Range checked for each record (index map: 0x4) | | 1 | PRIMARY | OUTR1 | ALL | NULL | NULL | NULL | NULL | 100 | Using where | | 2 | DEPENDENT SUBQUERY | INNR1 | eq_ref | PRIMARY | PRIMARY | 4 | func | 1 | Using where | | 3 | DEPENDENT UNION | INNR1 | index | NULL | u_int | 5 | NULL | 1 | Using index | | NULL | UNION RESULT | | ALL | NULL | NULL | NULL | NULL | NULL | | +------+--------------------+------------+--------+---------------+---------+---------+------+------+------------------------------------------------+ 6 rows in set (0.001 sec) MariaDB [federated]> notee