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