You mean your table is larger on disk than the data it contains?
That's because databases like MySQL's *Isam tables don't self-optimize. Databases are heaviliy-multiuser, they cannot afford to lock the datafile so they can 'defragment' it. Instead ever new record is appended at the end and deleted records just leave gaps of unused data in the file. That's why you as a database administrator should run 'optimize' at regular intervals.