[BUGFIX] Bad index for determineSiteRoot 82/31082/5
authorStefan Froemken <froemken@gmail.com>
Mon, 23 Jun 2014 16:07:24 +0000 (18:07 +0200)
committerAnja Leichsenring <aleichsenring@ab-softlab.de>
Sun, 14 Dec 2014 12:56:00 +0000 (13:56 +0100)
Extbase in the backend fires a query to the pages table where
deleted=0 AND hidden=0 AND is_siteroot=1 ORDER BY sorting LIMIT 1

The patch changes an index that was added for this query to
reduce the result more quickly, with the assumption there is only a
very small number of is_siteroot=1 pages in comparison to deleted
and hidden pages. Also hidden and deleted are not any longer part
of the index, since order by sorting with limit 1 will break the
rest of the result set very early.

Target of the patch is master only since the 6.2 variant is not
that bad, so there is no urgend need to force people changing
indexes in 6.2 production systems.

Resolves: #59824
Releases: master
Change-Id: I597516efb7704d929ee869cdaa39cd069421ed4f
Reviewed-on: http://review.typo3.org/31082
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Mathias Schreiber <mathias.schreiber@wmdb.de>
Tested-by: Mathias Schreiber <mathias.schreiber@wmdb.de>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
typo3/sysext/core/ext_tables.sql

index 9bb71ea..d211661 100644 (file)
@@ -180,7 +180,7 @@ CREATE TABLE pages (
   KEY t3ver_oid (t3ver_oid,t3ver_wsid),
   KEY parent (pid,deleted,sorting),
   KEY alias (alias),
-  KEY determineSiteRoot (deleted,hidden,is_siteroot)
+  KEY determineSiteRoot (is_siteroot)
 );
 
 #