I'm creating a website where you will find various kinds of products for example blogs, posts, articles and so forth. A person can set one as his/her favorite. Now after i approach this factor, I've two options

  1. Create a table for user faves for every kind of object.
  2. Create a common table for those kind of objects for the customers.

The issue using the first structure is the fact that I will need to query lots of tables for exhibiting the faves of the particular user. However it will let me easily group the faves into different groups.

If however I must show all of the faves on a single single page and merge all of them, sorted based on time, then that becomes difficult. But when I personally use the 2nd model, I'm able to easily obtain the latest faves, as well as grouping them based on object type isn't difficult, however i may have one large table site wide.

Which of these two methods could be more scalable.

The first one entails multiple database queries, and also the second one entails a sizable single table.

Whether it helps, I'm using MySql