I've got the following scenario:

Have 10 - 30 user specific tables. Can have 5 - 50 users. A user can have up to 1 million records for some tables.

So must I add a user_id to the primary key of the table. That mean that that table can have 50 million record in it.

Or is it better to create a schema for each user. Thus having maybe 30 * 50 tables in the db.

Anybody got a suggestion ?