Title: Beyond Wpdb
Author: PRESSMAN
Published: <strong>Juny 25, 2020</strong>
Last modified: Desembre 7, 2020

---

Search plugins

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://s.w.org/plugins/geopattern-icon/beyond-wpdb.svg)

# Beyond Wpdb

 By [PRESSMAN](https://profiles.wordpress.org/pressmaninc/)

[Download](https://downloads.wordpress.org/plugin/beyond-wpdb.2.0.1.zip)

 * [Details](https://bal.wordpress.org/plugins/beyond-wpdb/#description)
 * [Reviews](https://bal.wordpress.org/plugins/beyond-wpdb/#reviews)
 *  [Installation](https://bal.wordpress.org/plugins/beyond-wpdb/#installation)
 * [Development](https://bal.wordpress.org/plugins/beyond-wpdb/#developers)

 [Support](https://wordpress.org/support/plugin/beyond-wpdb/)

## Description

※ Table names have been changed since v2.0.Please delete the meta_json table and
reactivate it in the options screen.

Are you having trouble with slow queries due to WordPress table structure?
 This
plugin helps your site speed up using JSON type columns, one of the features of 
MySQL, and prevents complex queries while maintaining the flexibility of WordPress
development. You can also add a virtual column in the configuration page and index
the virtual column to make it even faster.You can also add a virtual column in the
configuration page and index the virtual column to make it even faster.

### Features

If a large amount of meta data is given to 1 post/user/comment and a complex meta_query
is specified, a large number of inner joins will occur, which will slow down the
execution of the query.
 The effect will be noticeable especially when the number
of records is large. This plugin avoids complex joins and prevents slowdowns by 
storing all the meta data for 1 post/user/comment in a JSON type column in a custom
meta table. The dedicated configuration page includes a check for group_concat_max_len,
a function to measure consistency of meta table and its custom meta table, and the
ability to add virtual columns, add a The ability to create indexes. Indexes on 
virtual columns to make it even faster.

### Actual Behavior

 * You can create and delete json tables and triggers and data for each json table
   on the configuration page.
 * Create virtual columns and indexes for the json table you created in the configuration
   page.
 * If you add a virtual column to the json table in the configuration page, the 
   SQL is converted to face the virtual column.
 * Converts the SQL that WordPress auto-generates when using the default APIs of
   get_posts, Wp_Query, and etc. into a simple SQL that combines the posts/users/
   comment table with its own meta table.
 * The custom meta table automatically stores data using MySQL and MariaDB triggers.

### Conversion Conditions

 * Both the value in meta_key and meta_value is specified.
 * If meta_compare_key is specified, only `=` or `EXISTS` are allowed.
 * `suppress_filters` is false.

### Custom meta tables generated by plugin

The actual table names are prefixed with $table_prefix.
 * postmeta_beyond (for 
posts table) * usermeta_beyond (for users table) * commentmeta_beyond (for comment
table)

### Columns in each table

The actual table names are prefixed with $table_prefix.
 * postmeta_beyond * post_id(
int) * json(json) * usermeta_beyond * post_id(int) * json(json) * commentmeta_beyond*
post_id(int) * json(json)

### Example of storing data in JSON type column

    ```
    { "state": "Wisconsin", "city": "Winter" } 
    ```

### Results of Speed Measurement

ex1 ) Create 100 posts and 50 meta data for each post. Combine them 9 times.

 * postmeta_beyond
    - Equal:0.04
    - IN:0.09
    - NOT IN:0.06
    - LIKE:0.03
    - NOT LIKE:0.03
    - BETWEEN:0.04
    - NOT BETWEEN:0.04
 * postmeta
    - Equal:4.72
    - IN:4.79
    - NOT IN:4.74
    - LIKE:0.64
    - NOT LIKE:0.66
    - BETWEEN:0.63
    - NOT BETWEEN:0.63

ex2 ) 10,000 posts, 1 meta per post. meta_key is category.
 Add a virtual column(
category) to postmeta_beyond and put an index, and compare it to the case without
adding a virtual column.

 * postmeta_beyond(with virtual column)
    - Equal:0.02
    - IN:0.35
    - BETWEEN:0.12
    - NOT BETWEEN:0.09
 * postmeta_beyond(without virtual column)
    - Equal:0.15
    - IN:1.92
    - BETWEEN:0.37
    - NOT BETWEEN:0.29

### Notes

 * You’ll need TRIGGER, SELECT, and UPDATE permissions for the target table and 
   its columns to use the trigger feature of MySQL and MariaDB.
 * It makes changes to SQL only if `suppress_filters` is false.
 * This plugin sets 4294967295 to group_concat_max_len when it create an original
   table with JSON type column. You can change the number by using filter ‘beyond_group_concat_max_len’.

## Installation

1.Download the plugin
 2.Upload the plugin to the plugin directory 3.Enable plugins
from the admin page’s Plugins

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Beyond Wpdb” is open source software. The following people have contributed to 
this plugin.

Contributors

 *   [ PRESSMAN ](https://profiles.wordpress.org/pressmaninc/)
 *   [ kazunao ](https://profiles.wordpress.org/kazunao/)
 *   [ Hiroshi Sekiguchi ](https://profiles.wordpress.org/hiroshisekiguchi/)
 *   [ hommakoharu ](https://profiles.wordpress.org/hommakoharu/)
 *   [ pmhirotaka ](https://profiles.wordpress.org/pmhirotaka/)

[Translate “Beyond Wpdb” into your language.](https://translate.wordpress.org/projects/wp-plugins/beyond-wpdb)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/beyond-wpdb/), check
out the [SVN repository](https://plugins.svn.wordpress.org/beyond-wpdb/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/beyond-wpdb/) by
[RSS](https://plugins.trac.wordpress.org/log/beyond-wpdb/?limit=100&mode=stop_on_copy&format=rss).

## Meta

 *  Version **2.0.1**
 *  Last updated **5 anys ago**
 *  Active installations **Fewer than 10**
 *  Tested up to **5.5.18**
 *  PHP version ** 7.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/beyond-wpdb/)
 * Tags
 * [JSON](https://bal.wordpress.org/plugins/tags/json/)[meta_query](https://bal.wordpress.org/plugins/tags/meta_query/)
   [pressman](https://bal.wordpress.org/plugins/tags/pressman/)[pressmaninc](https://bal.wordpress.org/plugins/tags/pressmaninc/)
   [wpdb](https://bal.wordpress.org/plugins/tags/wpdb/)
 *  [Advanced View](https://bal.wordpress.org/plugins/beyond-wpdb/advanced/)

## Ratings

No reviews have been submitted yet.

[Add my review](https://wordpress.org/support/plugin/beyond-wpdb/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/beyond-wpdb/reviews/)

## Contributors

 *   [ PRESSMAN ](https://profiles.wordpress.org/pressmaninc/)
 *   [ kazunao ](https://profiles.wordpress.org/kazunao/)
 *   [ Hiroshi Sekiguchi ](https://profiles.wordpress.org/hiroshisekiguchi/)
 *   [ hommakoharu ](https://profiles.wordpress.org/hommakoharu/)
 *   [ pmhirotaka ](https://profiles.wordpress.org/pmhirotaka/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/beyond-wpdb/)