MSSQL database. I've problem to produce database using old databases data. Old database structure is 1000's tables conected with one another by ID. Within this tables data copied many occasions. Old database tables convey more than 50 000 rows (customers). Structure such as this table

Users (id, login, pass, register-date, update-date), 
Users-detail (id, users_id, some data) 
Users-some-data (id, users_is, some data)

which type of tables is 100s.

And now you ask ,, which style of db structure to select, one table wonderful this data, or 100s of tables separated by some theme.

Which kind of db structure could be with better performance?

Select id, login, pass from ONE_BIG_TABLE

or

Select * from SMALL_ONLY_LOGINS_TABLE.

Answer really is dependent around the use. No-one can optimize your database for you personally if they do not know the usage statistics.

Correct DB design dictates that the entity is saved in the single table, that's, the customer using their particulars for instance.

However this rule can alter around the occasion you simply access/write a few of the entity data multiple occasions, and/or of there's optional info you store in regards to a client (eg, some lengthy texts, biography, history, extra addresses etc) by which cases it might be optimal to keep them on the child-table.

When you are a lot of posts with all of-null values, which means you need to think twice about a young child table.

Should you only have to try login qualifications from the DB table, a saved method that returns a bool value based on when the username/password are correct, could save you the round-trip from the data.

Without indexes the choose around the more compact tables is going to be faster. But you may create exactly the same covering index (id, login, pass) on tables, if you only need individuals 3 posts performance will most likely function as the same on tables. The overall question which database structure is much better cannot be clarified not understanding using your database.