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"