Ticket #3170 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

Sites installed with 2.0 and newer do not have the post_status index. This slows WP sites.

Reported by: BrianLayman Assigned to: anonymous
Priority: high Milestone:
Component: General Version: 2.0
Severity: major Keywords: Database index
Cc:

Description

If you create a site from the 2.04 install and it only has the PRIMARY and post_name indices/indexes in the posts table.

According to upgrade-schema.php, you are only suppose to have KEY and post_name: CREATE TABLE $wpdb->posts (

[A BUNCH OF FIELDS] PRIMARY KEY (ID), KEY post_name (post_name)

);

However, in upgrade-functions.php, the 'post_status' index is added as part of function upgrade_101().

// Clean up indices, add a few add_clean_index($wpdb->posts, 'post_name'); add_clean_index($wpdb->posts, 'post_status'); add_clean_index($wpdb->categories, 'category_nicename'); add_clean_index($wpdb->comments, 'comment_approved'); add_clean_index($wpdb->comments, 'comment_post_ID'); add_clean_index($wpdb->links , 'link_category'); add_clean_index($wpdb->links , 'link_visible');

It seems upgrade_101 is not called when a new DB is create because the version is already 3440.

All of those other indices have been moved over to the schema file but post_status has not.

Change History

09/26/06 14:04:12 changed by intoxination

+1 for this. I have gone through and manually added the post_status index on a couple of sites with 10,000+ posts and it made a very noticeable performance increase.

09/26/06 14:10:12 changed by ryan

  • status changed from new to closed.
  • resolution set to fixed.

(In [4255]) Add post_status key. fixes #3170

09/26/06 16:22:28 changed by foolswisdom

Confirmed that this is not relevant in trunk.

10/27/06 01:34:08 changed by BrianLayman

  • status changed from closed to reopened.
  • resolution deleted.
  • severity changed from normal to major.

Reopening because the attached dif does nothing to fix the sites that were created without the index. Please close if the code was attached/changed elsewhere.

There needs to be an upgrade function in 2.0.5 that adds this or all of the newer sites will continue to suffer from the resultant slowdown until they upgrade to 2.1 and the whole thing is replaced.

10/27/06 04:09:56 changed by markjaquith

Brian,

Good call. We have a function that automatically upgrades the database to the schema, but the database version number needs to be incremented for that to be triggered. Fixing now.

10/27/06 04:13:22 changed by markjaquith

  • status changed from reopened to closed.
  • resolution set to fixed.

(In [4428]) Database bump needed to add the post_status key for existing installs. Props Brian Layman. fixes #3170

11/30/06 19:41:51 changed by

  • milestone deleted.

Milestone 2.0.5 deleted