Opened 2 years ago
Closed 22 months ago
#15915 closed defect (bug) (duplicate)
Verbose rewrite rules trigger a query for every page on options-permalink
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Rewrite Rules | Version: | |
| Severity: | normal | Keywords: | has-patch 3.2-early |
| Cc: |
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)
Change History (10)
- Keywords needs-patch added
- Milestone changed from 3.1 to Future Release
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.
comment:7
mikeschinkel — 22 months ago
Related #18276
Note: See
TracTickets for help on using
tickets.

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.