MB Custom Table is an extension of Meta Box plugin that helps you to save data to custom table instead of the default post / user / term meta table. All meta values are saved in a single row, and each column will be a meta key. This reduces the number of rows in the database which can cause a performance issue when the data grows. And let you have all of your data in one place, so you can easily view, edit, import, export it.

Save custom fields in custom table
Save custom fields in custom table

Why custom table?

By default, WordPress uses meta tables for storing the meta data (custom fields). In order to satisfy a wide range of needs, WordPress use a flexible database structure, where each custom field is stored as a row with 4 columns: meta_id, post_id, meta_key and meta_value. While it seems to be fine at first, when your data grows, the number of database rows increase very fast.

Let’s take an example: If you’re using WooCommerce, each order (a custom post type) requires more than 40 custom fields as follows:

Custom fields for WooCommerce orders
Custom fields for WooCommerce orders

Imagine if you run a flower shop, and have 20 orders per day, then WordPress will store 20 * 40 = 800 rows in your database. After 1 month, it will be 30 * 800 = 24.000 rows, for just 30 * 20 = 600 orders.

What if we can store all the custom fields in a single row? Something like in the first screenshot, where each custom field takes only 1 column in the database. Therefore, with the case of WooCommerce orders, you only have 600 rows in the database for 600 orders. Besides, all the information about a single post can be viewed at once.

What are the benefits of this method?

  • Your database size will reduce
  • As all the custom field data is on a same row, your query will be faster and simpler
  • You can view all the data at once using any database management tool
  • You can export all the data easier by exporting only one table

In order to achieve these goals, MB Custom Table extension is all you need.

MB Custom Table provides a simple API for you to create custom tables and store custom fields to custom tables. It works with all field types of Meta Box plugin as well as all meta types (post, user, term). The extension uses a simple syntax to define table and you won’t have to change your meta box definition.

Features

  • Uses WordPress recommended method to create custom tables, which allows you to upgrade table structure anytime.
  • Provides a simple API to define table structure.
  • Works with any meta types: post meta, user meta, term meta, comment meta.
  • Provides an easy way to integrate with your existing meta boxes.