Bug #88672

SlugHelper->isUniqueInSite() slow for installations with many sites and similar URL structures

Added by Thomas Fischer over 2 years ago. Updated about 2 months ago.

Status:
Under Review
Priority:
Must have
Assignee:
-
Category:
Link Handling, Site Handling & Routing
Start date:
2019-07-02
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
9
PHP Version:
7.2
Tags:
Complexity:
easy
Is Regression:
Yes
Sprint Focus:

Description

If a large installation has a lot of sites / root pages, each with similar or identical page structures of a few levels, calling fixUniqueInSite() and especially fixUniqueInSiteForSubpages() in the DataHandler becomes slow due to the way potentially duplicate URLs are retrieved in SlugHelper->isUniqueInSite().

A fix could include a different or two alternative approaches for duplicate URL retrieval, taking into account the size and the overall page structure of the installation.

Also, the runtime cache could be used inside isUniqueInSite(), as this method is called recursively from inside fixUniqueInSiteForSubpages() and some of the necessary data (e.g. site definitions, root page association of a single page) should not be changed from the outside inbetween these calls.


Related issues

Related to TYPO3 Core - Epic #93547: Collection of problems with large sitesAccepted2021-02-19

Actions

Also available in: Atom PDF