Right now I'm at ~80 rows in my player table and begun to feel like its
beginning to take on a life of its own. I wouldn't be surprised if my UPDATE
clause tried to walk away at this point.
Do you actually mean 80 rows (as in, 80 players in your database), or 80
columns (i.e. fields) in the table? If the latter, then that's a pretty wide table,
though MySQL can handle much, much more. As another poster suggested, a
good way to go is to break your table up into logically grouped sets of fields. So
you might have your core data (name, sex, etc.) in the main table and then one
or more peripheral tables. Then you can just grab what you need to grab.
That said, there's nothing wrong with a large UPDATE statement. MySQL can
handle a lot, and, unless you're doing thousands every minute, you shouldn't
really run into any issues.
I did scan through my Pc/Character classes and did see some places I
could take better advantage of the parsing functions I wrote a while ago for
arrays in the MySQL tables. Can cut some of the table bloat there.
If you mean de-normalizing data so that one MySQL column contains multiple
player fields, that's certainly an option, but be careful about too much de-
normalization as it makes searching and other related tasks in MySQL a lot
harder. Generally, though, if you won't be using the data in WHERE or ORDER BY
clauses, and you don't need to SELECT it separately, de-normalization is a safe
route that can yield pretty good speed and memory usage improvements.
I'm actually in the process of converting my project to use MySQL exclusively for
all storage as well, so it's good for me to talk this through!