I am building a small dating app (very similar to Tinder).
The app allows users to checkin to venues, and then they can anonymously 'like' other users who have also checked in to the same venue. If two users happen to like each other, it's a Match.
I have the following tables:
One of the main tabs on the app is called Matches, which shows all of your matches.
I am trying to decide whether I should create a MATCHES table and insert a record into it every time there is a match between two users, OR should I just query the LIKES table and return the matches from there?
The LIKES table will no doubt be the largest table in the database, so I thought creating a MATCHES table would greatly improve performance. Once a record is put into the Likes table, it will not be updated or deleted, so there will be no mismatch of information, however i still think i am duplicating data here...
What is your opinion on this? What option would you go with? Thanks in advance.