5

Last year started using custom fields and in one year I have 230,540 rows in wp_postmeta table. This year will add more data and new fields and I don't know what to do, to create new table or continue using post meta.

Do you think that is too much data in post meta and adding possibly around 400,000 with new fields this year?

Also does it affect the performance with so much data?

I don't know how complicated is to create new custom table in WordPress.

  • I hope that's not the case for only few posts ;-) or what are we talking about many fields per post? What about using custom taxonomies, for part of your data? That could give better performance. But this depends of course on your setup. Is this already giving you problems? – birgire Aug 4 '15 at 11:51
  • @birgire Since 2013 when I was started I have 8,050 published posts, per post at the moment I have around 11 fields and planning to add another 3-4. – LinekereDe Aug 4 '15 at 11:59
  • Why not stress test it a bit? Set up an development environment, add 300-500.000 meta data worth of posts and check your performance. Also, consider look at your dbs indices. MySQL isn't afraid of some millions of rows, what matter is how to optimize the performance of the db and your code base – Mestika Aug 6 '15 at 16:38
5

If you don't feel any performance degradation then there is no problem. If it took you two years to get to this state then you probably safe for another two years, which is almost forever in the time scale of the internet (unless you are CNN or similar).

This doesn't mean that you should not try and save space wherever it is easy to do. Do you really need the 14 fields for each post? how many of them are actually in use? How about deleting old posts?

But in the end, at some point you will reach the point where performance will degrade and in that point you should just upgrade your server. For such a big site I assume you have some sort of money revenue and the cost of getting stronger hardware is usually smaller then starting to make customizations to wordpress at the DB level even when done properly.

  • Thanks for the answer. Since last year I have created 230,540 rows in wp_postmeta not in two years and also with new custom fields that I'm planning to add I believe next year will create more than 350,000 rows. I use all fields for each post. – LinekereDe Aug 4 '15 at 13:43
  • So for the performance it doesn't matter if I create a new table ? The server that I'm using at the moment has Memory: 6x2GB Harddisks: 2x300GB – LinekereDe Aug 4 '15 at 13:48
  • The usefulness of a extra table depends on the functionality you want to achieve with it, if you are just mirroring the post meta functionality it is, as Mark Kaplun said, probably not worth it. It is pretty much a cost-benefit analysis on maintaining customizations versus server costs. With good hardware and an optimized setup you can probably have millions of rows, without having all to much trouble with the performance. A serious bottleneck - information is out there - for meta performance are serialized entries, if you have a lot of them, then you should consider restructuring.@LinekereDe – Nicolai Aug 4 '15 at 15:56
  • creating a new table will not reduce the amound of data you have.... – Mark Kaplun Aug 4 '15 at 17:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.