Database design for large volumes of data 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?
Table for each user would be wildly inefficient as whenever a user leaves or joins you need to re-arrange your table structure.

having an owner_ID field in the table and then allowing the general users to be identifiable meaning that when someone is logged in the query can run AND owner_id = @active_user_ID

Be worth having a table to link the ID to the logged in user, and then you can also set up managers (Table User_ID, Manager_ID,name,detail...) which means you can allow managers to view all data of their underlings (if this is needed)

Its worth noting doing a structure like this to consider indexing the table in a structure that organises the data according to the owner_id field to improve performance for each user as they will unlikely overlap