mysql needs a few more bytes per record for its internal use. Since you use a VARCHAR, you have dynamic length records; this is described in the manual: http://www.mysql.com/doc/en/Dynamic_format.html
Regards, Joseph Bueno Andrew Kuebler wrote: > I have a table with 17,168,035 records. I have the following column > types and I read about the following storage requirements for each > column: > > (1) INT Column - Should take up 4 bytes each > (1) MEDIUMINT Column - Should take up 3 bytes each > (1) DATE Column - Should take up 3 bytes each > (1) VARCHAR Column - Should take up Length + 1 bytes each > > The INT Column should take up 4 * 17,168,035 = 68,672,140 bytes > The MEDIUMINT Column should take up 3 * 17,168,035 = 51,504,105 bytes > The DATE Column should take up 3 * 17,168,035 = 51,504,105 bytes > I ran a query for the VARCHAR column and it has a total of 141,485,442 > characters plus the additional 17,168,035 characters to store the string > length. I see this column should be taking up 158,653,477 bytes. > > Total I would think my table should be somewhere around 330,333,827 > byes, but rather it is 444,669,952 bytes. To be over 100 meg off, I must > be doing something wrong. I did try repairing the table also to make > sure I was reading the right file size, but it stays the same. Can > anyone tell me what I am doing wrong? > > Thank you in advance, > > Andrew > --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php