---
title: "MenuProcessor erzeugt hunderte SQL SELECTS"
url: "https://www.typo3.net/d/127268-menuprocessor-erzeugt-hunderte-sql-selects"
source: "typo3.net"
tags: ["Extensions","Extbase","Frage"]
created: "2018-12-04"
last_reply: "2019-01-04"
replies: 4
solved: false
page: 1
pages: 1
lang: "de"
---

# MenuProcessor erzeugt hunderte SQL SELECTS

Extensions › Extbase · 4 Antworten · gestartet 2018-12-04

## Eröffnungsbeitrag

**freeatweb** · 2018-12-04 · [Beitrag #1](https://www.typo3.net/d/127268-menuprocessor-erzeugt-hunderte-sql-selects/1)

Liebes Forum,

ich habe bei einem Projekt (TYPO3 8.7) die neuen MenuProcessor eingebunden.

Die Seite hat ca. 600 Seiten, aufgeteilt in mehreren Menüs.
Das Rendering der Menüs klappt hervorragend, leider werden jedoch bei Aufruf von Seiten ohne Cache (z.B. &no_cache=1) ca. 1100 Select Statements gesetzt - die meisten davon sind:

SELECT `uid` FROM `pages` WHERE (`uid` IN (:dcValue1)) AND (`doktype` NOT IN (:dcValue2)) AND ((`pages`.`deleted` = 0) AND ((`pages`.`t3ver_state` <= 0) AND (`pages`.`pid` <> -1)) AND (`pages`.`hidden` = 0) AND (`pages`.`starttime` <= 1543871700) AND ((`pages`.`endtime` = 0) OR (`pages`.`endtime` > 1543871700)) AND ((`pages`.`fe_group` IS NULL) OR (`pages`.`fe_group` = '') OR (`pages`.`fe_group` = '0') OR (FIND_IN_SET('0', `pages`.`fe_group`)) OR (FIND_IN_SET('-1', `pages`.`fe_group`))))

und

SELECT `uid`, `pid`, `doktype`, `mount_pid`, `mount_pid_ol`, `t3ver_state` FROM `pages` WHERE (`uid` = :dcValue1) AND (`doktype` <> :dcValue2) AND (`pages`.`deleted` = 0)

Ladezeiten liegen dadurch bei 10 bis > 20 sekunden.
Sobald man die Menüs deaktiviert, verringern sich logischerweise die SQL-Abfragen dramatisch - Ladezeit wesentlich besser

APCu-Cache aktiv.

Woher kommen diese zahlreichen SQL-Statements? von den MenuProcessors?
Für mich sieht es so aus, als ob TYPO3 beim GEnerieren des Menüs für jede Seite ein eigenes Select absetzt

Freue mich auf Ideen/Erfahrungen

Lg

## Antworten

### [#2](https://www.typo3.net/d/127268-menuprocessor-erzeugt-hunderte-sql-selects/2) · Julian.​Hofmann · 2018-12-05

Beim Generieren von Menüs ist das letztlich auch nötig. Woher soll ansonsten eine Information stammen, ob eine Seite Unterseiten hat bzw. welche Unterseiten?
Hierbei ist es übrigens egal, ob MenuProcessors oder TypoScript - die Information über die Struktur der Website muss irgendwoher kommen. Und wenn Du TYPO3 das nicht cachen lässt (z.B. &no_cache=1), dann muss TYPO3 sich die Struktur jedesmal neu zusammenbauen.

Andere Frage: warum darf TYPO3 die *gesamte* Seite nicht cachen? Ändert sich das Menü mit jedem Aufruf? Falls nein, warum darf das Menü nicht gecacht werden?

### [#3](https://www.typo3.net/d/127268-menuprocessor-erzeugt-hunderte-sql-selects/3) · freeatweb · 2018-12-19

Hallo Julian,

vielen Dank für deine Antwort & sorry für meine späte Rückmeldung.

Ich habe es nun via Caching der Menüs gelöst. Die Menüzustände (Active, etc.) wird via JavaScript umgesetzt.

Lg

### [#4](https://www.typo3.net/d/127268-menuprocessor-erzeugt-hunderte-sql-selects/4) · freeatweb · 2018-12-19

Linktipps:
<https://stichwort.org/typo3/typoscript/mega-menue-mit-cache-optimieren/>

<https://gist.github.com/pgampe/cb29bc0fc1111d1370cc>

### [#5](https://www.typo3.net/d/127268-menuprocessor-erzeugt-hunderte-sql-selects/5) · Julian.​Hofmann · 2019-01-04

Freut mich, dass ich Dir hier und via Blogbeitrag helfen konnte :-)
Genau in diese Richtung wollte ich Dich stupsen, wollte zuvor aber noch die Rahmenbedingungen prüfen, ob der Ansatz für Dich auch passt.

---

Quelle: „MenuProcessor erzeugt hunderte SQL SELECTS“, typo3.net, https://www.typo3.net/d/127268-menuprocessor-erzeugt-hunderte-sql-selects
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
