I am not sure if I am allowed to ask this here but I have a curiosity. Is it normal that a Magento with 800 orders to have 600mb? Also there are only 20 products (12 configurable, 3 bundles)
There are a lot of possible reasons, why a magento database becomes huge over time.
Having a lot of products, attributes, storeviews are common reasons, which doesn't seem to be the reason for you.
Also the core_url_rewrite table can get big because of a bug in some versions, which increases the size on every url index process.
Another reasons are the log tables, which log every pageview/productview for ever, which today is pretty useless, as everybody uses google analytics.
Some of the possible tables since you don't have a lot of products would be
- sales quote tables
- page view logs tables
But the best way to tell would be to list all the table sizes
SELECT table_name AS "Tables", round(((data_length + index_length) / 1024 / 1024), 2) "Size in MB" FROM information_schema.TABLES WHERE table_schema = "$DB_NAME" ORDER BY (data_length + index_length) DESC;
sales_flat_quote% tables grow indefinitely from abandoned carts (containing items going all the way back to testing phase or day 1 of store opening). If you have set up a cron job to run
cron.php every 15 minutes, the cron routine that Magento uses to clean out expired quotes only removes the quotes that have been converted to Sales Orders.
Discussed in these two Questions: