Make WordPress Core

Opened 16 years ago

Closed 15 years ago

#15915 closed defect (bug) (duplicate)

Verbose rewrite rules trigger a query for every page on options-permalink

Reported by: nacin Owned by:
Priority: normal Milestone:
Component: Rewrite Rules Version:
Severity: normal Keywords: has-patch 3.2-early
Cc: Focuses:

Description

This was reported yesterday (I think) in IRC. Basically, verbose rewrite rules cause one query to be triggered for every page, on options-permalink.php. This surely can be done in probably one query total.

This is not a regression and could be punted. But it's also probably a small fix.

Attachments (2)

15915.diff (2.1 KB ) - added by greuben 16 years ago.
15915.2.diff (1.1 KB ) - added by greuben 15 years ago.

Download all attachments as: .zip

Change History (10)

#1 @nacin
16 years ago

A single call to get_pages() as a way to put the queried pages in cache, in WP_Rewrite::page_uri_index(), should reduce these. Otherwise we're calling get_page() when we call get_page_uri().

We're also doing a query for every page for any attachments, and then a new query for each attachment for each page when we call get_page_uri(). Not sure if there's an easy way to prefetch all of that without more churn.

Tempted to punt now and deal with it later. That whole function is very ugly.

#2 @scribu
16 years ago

  • Keywords needs-patch added
  • Milestone 3.1Future Release

#3 @nacin
16 years ago

  • Keywords 3.2-early added

@greuben
16 years ago

#4 @greuben
16 years ago

  • Keywords has-patch added; needs-patch removed

#5 @nacin
15 years ago

  • Milestone Future Release3.3

@greuben
15 years ago

#6 @greuben
15 years ago

15915.2.diff reduces number of queries made for pages.

For 100 pages(12 subpages) and 10 attachments, number of queries without patch is 247 and with patch is 139.

#8 @duck_
15 years ago

  • Milestone 3.3
  • Resolutionduplicate
  • Status newclosed

Invalidated by #16687 and [18541].

Note: See TracTickets for help on using tickets.