Old orders taking up a lot of space in DB

Posted about 5 years ago by Andreas

Post a topic
Answered
Andreas
Andreas

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

1 Votes

rady kal

rady kal posted about 5 years ago Admin Best Answer

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_.

0 Votes


21 Comments

Sorted by
N

Nick posted about 2 years ago

What's the SQL query to delete meta data before a certain date? 

0 Votes

h

henry dunbar posted almost 3 years ago

I am finding this same issue. Lots of 504 errors as the site is timing out due to large database. Deleting orders is not an option for obvious reasons. I just need to be able to specifically delete the fpd order meta data older than necessary to keep. Has anybody managed this yet?

0 Votes

R

Raffael Cruz posted over 3 years ago

I created a feature request cleaning the DB and the custom uploaded images: https://support.fancyproductdesigner.com/support/discussions/topics/13000028190

0 Votes

K

Keren posted over 3 years ago

Yes please,if Radykal can make it simple to clear the database that can solve a lot of issues. I had to pay extra just to delete older orders from the databad because it has too much tables with heavy info related to FPD. It will be great if you can find a solution to this problem. If it's possible to maybe add some settings in FPD admin that you can clear the data after X month or something like that?

0 Votes

M

Martin Pátek posted over 3 years ago

Hi, Radykal, many of us have the same problem. Very BIG and LAZY database. It is unsustainable to continue this.


The question is why some puted pictures are in the database tab woocommerce_order_itemmeta and are not in FTP folder as other pictures? Or why FPD can't block this damned pictures (maybe add some settings in FPD admin) on frontend designer? We hate this problem many years.


Thank you for your help.

Best regards,

Martin

0 Votes

C

Costea Andrea Mihai posted over 3 years ago

@thomas vert, no quick solution yet.

I didn't had the time to clear the database lately, so my woocommerce_order_itemmeta is now 8.1Gb :)

I'm really afraid to start cleaning it because it's a nightmare. You get a lot of server timeout from the server and the website is taking his own timeout.


Probably Radykal has no solution for this problem, but I hope he'll find one pretty soon.

0 Votes

K

Keren posted almost 4 years ago

I have the same problem. I was hoping to solve that one as well...

If anyone has the solution to the problem I will appreciate sharing. Thanks 

0 Votes

T

Thomas Vert posted about 4 years ago

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

0 Votes

rady kal

rady kal posted about 4 years ago Admin

0 Votes

C

Costea Andrea Mihai posted about 4 years ago

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)

0 Votes

rady kal

rady kal posted about 4 years ago Admin

The _fpd_data is stored in woocommerce_order_itemmeta table.

0 Votes

C

Costea Andrea Mihai posted about 4 years ago

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!

0 Votes

C

Costea Andrea Mihai posted about 4 years ago

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.

0 Votes

Andreas

Andreas posted over 4 years ago

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


0 Votes

rady kal

rady kal posted over 4 years ago Admin

Yes this only holds some order data for FPD plugin and not any other relevant data for your website.

0 Votes

C

Costea Andrea Mihai posted over 4 years ago

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. 

0 Votes

Andreas

Andreas posted about 5 years ago

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.

0 Votes

rady kal

rady kal posted about 5 years ago Admin Answer

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_.

0 Votes

Andreas

Andreas posted about 5 years ago

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? 

0 Votes

Andreas

Andreas posted about 5 years ago

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.

0 Votes

rady kal

rady kal posted about 5 years ago Admin

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.

0 Votes

Login or Sign up to post a comment