Bug #55180

Epic #55070: Workpackages

Epic #55065: WP: Overall System Performance (Backend and Frontend)

Task #55179: Optimize SQL Performance

Increase Determination of siteroot page

Added by Ingo Schmitt over 1 year ago. Updated 8 months ago.

Status:Resolved Start date:2014-01-20
Priority:Should have Due date:
Assigned To:Ingo Schmitt % Done:

100%

Category:Performance Spent time: 2.00 hours
Target version:6.2.0 Estimated time:2.00 hours
TYPO3 Version:6.2 Is Regression:No
PHP Version: Sprint Focus:
Complexity:easy

Description

TYPO3 detects the rootpage by issuing a where clause on the pages table:

Count: 786 Time=0.04s (35s) Lock=0.00s (0s) Rows=0.0 (0), webuser[webuser]@localhost
SELECT uid FROM pages WHERE deleted=N AND hidden=N AND is_siteroot=N LIMIT N

no index on is_siteroot and hidden.


Related issues

related to Core - Bug #55534: Fix typo in typo3/sysext/core/ext_tables.sql Resolved 2014-01-31
related to Core - Bug #59824: Better index for determineSiteRoot Resolved 2014-06-23

Associated revisions

Revision 7a71192e
Added by Ingo Schmitt over 1 year ago

[BUGFIX] Add index to table pages

To detects the siteroot by querying the pages table with the
columns deleted, hidden, is_siteroot. This patch introduces
a combined index on those colums

Resolves: #55180
Releases: 6.2
Change-Id: Icae63670419cf9bc0029e2aa570cdf0108b9d62a
Reviewed-on: https://review.typo3.org/27154
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Marcin SÄ…gol
Reviewed-by: Benjamin Mack
Tested-by: Benjamin Mack

History

#1 Updated by Markus Klein over 1 year ago

Hi Ingo.

Count: 786
Is that for one single FE/BE request??

#2 Updated by Ingo Schmitt over 1 year ago

  • Category set to Performance

Is for each FE Request

#3 Updated by Gerrit Code Review over 1 year ago

  • Status changed from New to Under Review

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/27154

#4 Updated by Gerrit Code Review over 1 year ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/27154

#5 Updated by Ingo Schmitt over 1 year ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#6 Updated by Ingo Schmitt over 1 year ago

  • Estimated time changed from 0.50 to 2.00

#7 Updated by Christian Kuhn 8 months ago

Actually, this query is not fired this way at all!

the siteroot determination works by first finding the uid of the requested page, then getting its rootline, then iterating over it to see which of it has is_siteroot set.

where did this query actually came from, and which code part of the core fires it? i could not find anything like that, so imho the created index is bogus. if some extension (like TV) does stuff like that, it should add its index on its own.

... still investigating on this since i'm not 100% sure about those claims ... i woke up again on this topic because of pending patch https://review.typo3.org/#/c/31082/ which wants to change this index again (also for questionable reasons) ...

Also available in: Atom PDF