I have a dataframe where a user can have multiple preferences and I have to join these with some other kind of preferences which makes the table exponentially large.