PODS performance vs custom field

Pods allows you to create meta-based or table-based content types. Meta-based work as normal WP post types do. You can also extend WP objects like Comments, Users, Media, and Taxonomies to add custom fields to those.

If you choose to use table-based Pods, it creates a table with the ID field and only the custom fields that you define yourself. There are benefits that can be had by this, for cases where there’s a lot of data that needs to be specifically queried and filtered against, where otherwise postmeta may be constricting based on hosting budgets or if you need to query against specific values often. Custom indexes can then be added by hand to any of the Pods tables which further improve performance based on the types of queries you prefer.

Table-based Pods have a few caveats, mainly being there is no WP_Query support for meta_query (yet, it’s in progress), and when you use the default WP search, it won’t search those fields’ content. That doesn’t stop you from being able to do things with it, like using the Pods API calls like http://pods.io/docs/code/pods/find/ which is pretty powerful on it’s own. In many ways, it can be invaluable for complex queries and filtering, when compared to WP_Query.

Here’s a couple more comparisons between how table-based Pods compare against the normal WP default meta-based content types: