My application needs to support multiple users. Each user has a large volume (millions) of data entries. The application needs to select entries based on the current logged-in user.

What is the best SQL database design for such a requirement? To put everything into a single table with an additional `user` field? Or to create a table for each user?

Is NoSQL better in this case?