[wp-trac] [WordPress Trac] #41714: wp_list_pages() - horrible performance due to eventual "SELECT *"
WordPress Trac
noreply at wordpress.org
Wed Aug 23 16:15:02 UTC 2017
#41714: wp_list_pages() - horrible performance due to eventual "SELECT *"
-------------------------------+-----------------------------
Reporter: DavidAnderson | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Posts, Post Types | Version: trunk
Severity: normal | Keywords:
Focuses: |
-------------------------------+-----------------------------
I'm investigating awful performance (MySQL slow queries logged constantly)
a site which uses a plugin to display a page list.
The plugin calls wp_list_pages(). wp_list_pages() in turn calls
get_posts(). And get_posts() ends up making the slow query:
{{{
SELECT * FROM wp_posts WHERE (post_type = ‘page’ AND post_status =
‘publish’) ORDER BY wp_posts.post_date ASC;
}}}
So, all the post_content fields (along with everything else) are being
requested, just for the purposes of constructing a page list. (The site
has ~ 1200 pages - and the above call returns 34MB from the MySQL server).
It looks like either get_posts() needs some more flexibility so that it
has an option to return only specified fields.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/41714>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list