您可能需要对查询执行如下解释:
EXPLAIN SELECT ID, post_author, post_date,
post_date_gmt, post_status, post_name,
post_modified, post_modified_gmt, post_parent,
post_type FROM wp_posts
WHERE ( (post_status = \'publish\' AND (post_type = \'post\' OR post_type = \'\'))
OR (post_status = \'publish\' AND post_type = \'page\') )
AND post_password=\'\' ORDER BY post_modified DESC;
这将揭示MySQL在收集所需数据时采用的访问模式。
然而,只要看看WHERE和ORDER BY子句,我想提出以下建议:创建一个索引,可以帮助查询速度加快。由于post\\u status和post\\u type在查询中具有静态值,并且post\\u modified为这两列提供了排序顺序,请尝试此索引:
ALTER TABLE wp_posts ADD INDEX (post_status,post_type,post_modified);
试试看!!!