mysql> EXPLAIN SELECT * FROM cupid.cupid c LEFT JOIN cupid.cupid_msgs cm ON (cm.receiver_id = c.member_id) WHERE cm.receiver_id IS NULL; +----+-------------+-------+------+---------------+---------+---------+-------------------+---------+--------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+------+---------------+---------+---------+-------------------+---------+--------------------------------------+ | 1 | SIMPLE | c | ALL | NULL | NULL | NULL | NULL | 1840658 | | | 1 | SIMPLE | cm | ref | PRIMARY | PRIMARY | 4 | cupid.c.member_id | 226603 | Using where; Using index; Not exists | +----+-------------+-------+------+---------------+---------+---------+-------------------+---------+--------------------------------------+ 2 rows in set (0.00 sec) mysql> EXPLAIN SELECT * FROM cupid.cupid c WHERE NOT EXISTS(SELECT * FROM cupid.cupid_msgs WHERE receiver_id = c.member_id); +----+--------------------+------------+------+---------------+---------+---------+-------------------+---------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+--------------------+------------+------+---------------+---------+---------+-------------------+---------+-------------+ | 1 | PRIMARY | c | ALL | NULL | NULL | NULL | NULL | 1840658 | Using where | | 2 | DEPENDENT SUBQUERY | cupid_msgs | ref | PRIMARY | PRIMARY | 4 | cupid.c.member_id | 226603 | Using index | +----+--------------------+------------+------+---------------+---------+---------+-------------------+---------+-------------+ 2 rows in set (0.00 sec)