At least in PostgreSQL it is much faster to do a left or right join on st_intersects instead and use "where id is null" to find those that "don't have a friend"