On the other hand, from the point of view of maintenance and testing, if, as you say, you have 3 different groups of data in the same table, although they all have the same unique identifier (for example, member_id), it may make sense to split it into separate tables.
If you need to add fields to tell your profile information section in the member details table, do you really want the risk of re-testing the parameters and elements of your application’s account to prevent knocking on beats.
Also for audit purposes, if you want to track the last user ID / timestamp to change member data. If the admin application allows you to update the Preferences / Account Details / Profile Details settings separately, then it makes sense to have them in separate tables to make it easier to keep track of updates.
Not exactly the SQL / Performance answer, but maybe something that can be viewed from the DB project and App pov
Madmurf
source share