Go to file
Boone Gorges 1708a580fd Overhaul SQL generating logic in WP_Meta_Query to avoid unnecessary table joins.
The logic used to generate clause SQL in `WP_Meta_Query` is somewhat arcane,
stemming mostly from an ongoing effort to eliminate costly table joins when
they are not necessary. By systematizing the process of looking for shareable
joins - as was done in `WP_Tax_Query` [29902] - it becomes possible to simplify
the construction of SQL queries in `get_sql_for_clause()`. Moreover, the
simplified logic is actually considerably better at identifying shareable
joins, such that certain uses of `WP_Meta_Query` will see joins reduced by 50%
or more.

Includes integration tests for a representative cross-section of the query
clause combinations that result in shared table aliases.

Props boonebgorges, sc0ttkclark.
See #24093.

git-svn-id: https://develop.svn.wordpress.org/trunk@29940 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-17 20:20:04 +00:00
src Overhaul SQL generating logic in WP_Meta_Query to avoid unnecessary table joins. 2014-10-17 20:20:04 +00:00
tests Overhaul SQL generating logic in WP_Meta_Query to avoid unnecessary table joins. 2014-10-17 20:20:04 +00:00
tools/i18n Fix strict notices in makepot. 2014-08-21 02:53:16 +00:00
.editorconfig .jshintrc is a json file and .editorconfig should treat it like a json file 2014-10-08 19:26:50 +00:00
.gitignore Remove twenty* ignore-exclusion lines. Already tracked. 2014-02-26 20:59:25 +00:00
.jshintrc Remove smarttabs from .jshintrc per IRC discussion. see #25187. 2013-11-13 19:23:16 +00:00
.travis.yml PHP 5.6 test failures shouldn't be allowed. 2014-10-06 20:00:54 +00:00
Gruntfile.js Twenty Fifteen: JSHint fixes. 2014-10-14 19:47:11 +00:00
package.json 4.1 version bumps. 2014-09-05 19:44:38 +00:00
phpunit.xml.dist Only reset taxonomies and post types between tests when running core tests. 2014-10-10 20:25:39 +00:00
wp-cli.yml Introduce default wp-cli.yml for core development. 2014-04-30 21:35:18 +00:00
wp-config-sample.php Remove 'WordPress Language' reference from wp-config-sample.php. 2014-09-09 01:22:05 +00:00
wp-tests-config-sample.php Update wp-tests-config-sample.php to run with WP_DEBUG by default. see #25282. 2013-09-23 16:17:59 +00:00