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, 2015 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, 2015 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, 2015 at 16:38

1 Answer 1


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, 2015 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, 2015 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 Aug 4, 2015 at 15:56
  • creating a new table will not reduce the amound of data you have.... Aug 4, 2015 at 17:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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