Quote:
Originally Posted by cavedude
Smaller tables that aren't used much generally benefit more from MyISAM over InnoDB. However, it wouldn't hurt to convert everything over. The only table I would highly recommend you leave MyISAM is character_backup. I'm not sure about you, but TGC's table is huge. Converting to InnoDB would waste so much space it's silly, and for that table you wouldn't really see much peformance boost at all, if any.
|
Cavedude, I have been thinking about starting a discussion about the player profile blobs. This thread may not be the place for it, but since table size and performance is being mentioned, it makes me think about it. Currently, our profile blob is built from an old player profile packet that is no longer used. Essentially, this means that the structure of it doesn't matter to us at all anymore, we just use it to pull data from. The issue is that over half of the player profile blob is from unknowns in the PP struct. This means that half of the character_ and character_backup table space is being wasted for no reason. If we would remove the unknowns from the profile struct and only store stuff that is known, I think it would cut database backup size nearly in half of what it currently is. It may also help performance as well.
The actual change itself should be as simple as editing the common/eq_packet_structs.h player profile struct. The only problem is that will make any profile created before the change unusable unless it was converted. That is the worst part about making a change like this, but it might be worth considering if we had a way to convert all of the old profiles all at once. It may not be worth the risk, but if we had a good safe way to do the conversions (maybe in game command?), this could potentially have a pretty big impact on performance and backup file sizes.
Something to maybe consider or discuss further. If the idea is worth considering, we can start a discussion on it in the development forum to get input on the best way to handle it.