Old orders taking up a lot of space in DB
After 1 year of using FPD actively, our MySQL-database is over 3GB (!) of FPD-data. All the design details of every view made is stored in "woocommerce_order_itemmeta". This is in turn causing a lot of problems with other plugins and database-backups.
Can you make is so data is cleared after a given time interval, perhaps every 2-3 months?
Everyone here with many orders will get serious problems with this eventually. We just had a crash and lost a couple of orders because of this issue, and spent a day getting back on track. Right now we have to struggle with MySQL-commands to clear this data, or delete the orders entirely, which makes us lose all our statistics.
This is also requested here: https://support.fancyproductdesigner.com/support/discussions/topics/13000021221
Thanks,
Andreas
The meta is going to be deleted as soon as you delete the order from your database. But you need to delete via the wp admin and not via PHPMYADMIN.
Well, that is the problem: If we delete the order we lose all the information about it, all our valuable statistics and customer data. That is not really an option for any serious business.
Perhaps there is something wrong in my installation that makes FPDs db-entries bigger than usual. I see it is writing images as Base64, so ONE views entry to the DB can be 15 MB.
Look at the attached file. This is from my error log, including one database meta_key value from FPD. That one alone has over 14 million characters!
This can't be right?
If you only want to delete the meta from an order, you can only do that manually by going into the woocommerce_order_itemmeta database table and seach for all meta keys in meta_key column that starts with _fpd_.
I would recommend adding an option to automatically (or manually from Settings) remove some of this information, or stop including the images (base 64) – we still have the uploaded files, so I'm not sure why you would need images encoded like this at all?
If you don't change this behavior it will eventually impact every user, as long as they get enough orders. We got to 3GB pretty fast, and it has caused a lot of trouble for our server and site.
So, just to be sure, can I delete all the meta columns that starts with _fpd_ without affecting the website?
Can you explain what are they doing just to understand if I can delete all or only the old ones?
1. _fpd_product_thumbnail (a lot of those)
2. _fpd_data
3. _fpd_print_order (where the meta value is something about fonts)
4. _fpd_print_order (where there is no meta value - a lot of those)
I already deleted most of the _fpd_data, except the ones corresponding to the orders made in the last two months and the table is now under 1Gb. Can I delete the rest without affecting the website.
Yes this only holds some order data for FPD plugin and not any other relevant data for your website.
Radykal, can you please explain further about this? Not all of us are very familiar with MySQL/databases, and we do not want to delete something we should not.
How can I delete un-needed information about OLD orders, without losing information about current orders? If I delete everything with "_fpd_", I will lose orders I am currently working on as well?
Andreas
Related question, unanswered: https://support.fancyproductdesigner.com/support/discussions/topics/13000021221
Hello again. It would be really nice to have a proper solution for this problem. My database is now over 6Gb and I cleaned the_fpd_ data from time to time. The process of clearing is extremely time consuming, because you can't delete the meta from new orders and sometimes they seem to be inserted randomly around database.
Deleting the orders is out or question.
So, Radykal, maybe you can help us with a solution.
I thought it could be interesting to:
1. export old orders
2. delete them
3. import them back without the meta (any idea how to do this?)
Anyway, I'll test this and if it's working I'll post the solution here.
I tried to do what I presented above, but I couldn't make it work.
Radykal, can you help me and the others with a solutions to delete only the old _fpd_data?
A quick tutorial to delete _fpd_data_ between certain dates at once in phpmyadmin would be really helpful.
Thank you!
The _fpd_data is stored in woocommerce_order_itemmeta table.
Thanks,
But I think everybody envolved in this discussion already knew that.
What I would like to know is if I can somehow to delete certain orders from woocommerce_order_itemmeta table.
Example: delete all orders until 30 November 2019.
Important: basic info of the orders should remain in woocommerce admin. (customer info & products ordered)
Thanks a lot for responding. I really hope you can find a solution, my database is over 6Gb because of woocommerce_order_itemmeta (5.8Gb)
Maybe this plugin will help you: https://de.wordpress.org/plugins/woocommerce-store-toolkit/
Hello All,
@Andrea / @Costea : Have you found a permanent solution?
@Radykal : I encounter (like everyone else) the same problem... and my host asks me to reduce the size of this database or else I'll have to pay a more expensive package... (even more expensive). Please suggest something (and not just a plugin we don't know anything about.).
Best,
Thomas