I've had a username database for a long time, and it has about 250,000 rows.
I'm splitting it up in to 3 separate tables: one with registration data, one with optional profile information (name, gender, etc), and one with a list of photos (one row per photo, so if each user uploads 2 photos then it would end up being 500,000 rows; if each user uploads 10 then it would be 2.5 million rows).
I currently have the "username" column as a PRIMARY.
By splitting them out, though, I'm not sure if there's a significant value to assigning an autoincrement ID# to each username, then joining the tables based on that ID instead of by the username.
Moderating on the backend would be marginally more complicated; eg, I would have to find someone's ID# before I could appropriately edit their data under the image table (unless I include the username in each table, too, I guess).
But would it make the general queries faster? Or the index / data smaller?
What do you guys think, does the benefit outweigh the inconvenience?