I'm designing a web application, something small but deals with lots of read and inserts. Let's say 60% read and 40% writes. My storage engine is InnoDB on MySQL. I have a table called User which has a bunch of stuff in it. I broke it down into smaller tables such as address table and bio table. Here is an example :
User table ---------- user_id PK user_email user_pass user_dob user_gender user_country user_state user_city
After breaking it down
User table ---------- user_id PK user_email user_pass Bio Table ---------- user_dob user_gender Address Table ------------- user_country user_state user_city
So do you guys think, having smaller table but several of them is better for a high traffic database or should I keep them all in one table ?