Forum Moderators: coopster
[mysql.com ]
If you look at that, you will see that TEXT and VARCHAR fields are actually pretty efficient.
A TEXT field with 2 characters in it will only require 6 bytes (2 for the characters, 4 for fixed overhead on a TEXT field).
In a VARCHAR(255), they would take up three bytes (2 plus 1 of fixed overhead)
By contrast, if you had a CHAR(255), those two charcters would take up 255 bytes (fixed length, but no overhead).
So let's take the worst case situation -
1. you should be using a CHAR(1) field, taking up 1 byte per record.
2. but you are using a TEXT field, storing one character and taking up 5 bytes per record (that's the worst ratio you can achieve).
To end up with an extra 800MB bringing you from an expected 200MB to 1GB, you would need 200,000,000 records. Assuming you had two hundred such fields, you would still need a million records.
I would guess it has to be something else