in reply to efficiency of exists()

The call of exists function takes much less time than fetching data from DB. So don't worry about it.