[TYPO3-german] extbase Objekte sehr langsam

Dr. Dieter Porth typo3 at mobger.de
Thu Sep 1 18:11:42 CEST 2016


Hallo Michael

Variante a)  (mit Dataprovider im Fluidtemplate)

Dein Modell ist gut durchdacht. und du kannst nach einer DB-Abfrage alle 
Elemente in einem Array übergeben


Variante b) (mit Dataprovider im Fluidtemplate)

Dein Modell ist weniger optimal. du musst aus mehreren DB-Abfragen ein 
Object zusammenbauen, welches du dann rausrendern kannst.

bis fünfundert sechhundert Datensätze funktioniert dies ganz gut, wenn 
man nicht für jden Datensatz ein Partial aufruft.


Variante c) (unangenehme Lösung)

Dein Modell ist eher schlecht und du brauchst für jeden Datensatz eine 
eigene DB-Abdfrage plus Rendering. Dann ist dir nicht zu helfen und du 
solltest dein Modell neu bauen; denn es passt nicht zu deinen 
Anforderungen.


Variante d) (Multi-Lösung)

Du nutzt einen Varinsh, um die Seiten  per Server-Cache zwischenzuspeichern

Variante e) (Einzellösung)
Du cachst die gesamte Seite und schreibst einen eid-Meachnismus, der die 
Seite einmailg rendert und bei Anfrage die gesamte Seite als HTML 
ausliefert.

Alle Lösungen haben ihre Vor und Nachteile, was die Aktualität, die 
Flexibilität und den Programmieraufwand angehen.


Variante f) (viewhelper)
Dir ist der Dataprovider zu kompliziert und du kennst dich mit dem 
Viewhelper aus. Dann löst alles im Viewhelper und ignorierst die 
Konvention, dass im View die Viewhelper sich nur um die korrekte 
Viewdarstellung kümmern.


Variante g) (Ajax)
Du lädst deine  schrittweise 300 Objekte per Ajax nach und 
untergleiderst deinen Kuchen in mehrere Stücke. Das erfordert natürlich 
ein jeweils auch die Anpassungen deiner Pagenierung.

Variante h (Java-Spkript-paginierung)
Du nimmst nur deine Liste mit den Elementen und suchst für die 
Pagenierung eine Javascript-Lösung.

...

Mit besten Grüßen
    Dieter

Am 01.09.2016 um 11:41 schrieb Michael Stein:
> Hallo zusammen,
> ich habe ein typo3 6.2 am Start mit einer Extension die eine Liste von
> Records erzeugt.
> Die Objecte referenzieren ein paar andere Tabellen.
> Das funktioniert alles ganz gut. Aber ab 300 Objekten wird der
> Listenaufbau sehr langsam und das ganze ist extrem Speicherintensiv.
>
> Kann ich irgendwie verhindern, dass immer das ganze Object zusammen
> gebaut wird?
> Mir reichen für die Liste die Einträge aus dem Basis-Record.
> Allerdings brauche schon die richtigen Objekte, da sonst das Paginate-
> Widget nicht mehr funktioniert.
>
> Gruß
> Michael
>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list