[Frage] Extbase Langsam

  • wp_bube wp_bube
    TYPO3-Anwärter
    1 x
    6 Beiträge
    1 Hilfreiche Beiträge
    19. 07. 2013, 13:02

    Hallo,

    ich habe in Extbase eine Listenansicht von Satellitenbildern.
    Einem Satellitenbild sind mehrere Länder zugeordnet, mehrere Kontinente und ein Kategorie.

    Wenn ich jetzt die Listenansicht generiere dauert das extremst lange (ca. 30 sekunden). Es sind 300 Bilder die ausgegeben werden und Extbase macht für jedes einzelne Bild ein Sql-Request um die Länder und Kontinente zu erhalten. Das ist doch Wahnsinn.

    Habs schon mit Lazy-Loading probiert, aber das kann in diesem Fall ja eigentlich nichts bringen, da ich die Namen der Länder und Kontinente ja brauche. Also müssen diese auch geladen werden, egal ob lazy oder eager. Aber doch nicht für jedes Bilder immer wieder.

    Gibt es dafür nicht eine Einstellung oder eine Lösung?

    Liebe Grüße und Danke schonmal,
    Benjamin


  • 1
  • froemken froemken
    Jedi-Ratsmitglied
    0 x
    811 Beiträge
    1 Hilfreiche Beiträge
    22. 07. 2013, 18:18

    Hallo Benjamin,

    In diesem Fall ist lazy oder nicht wurscht. Etwas beschleunigen könnte man es, wenn Extbase mit prepared statements zusammen arbeiten würde, aber auch das ist Zukunft.
    Von daher empfehle ich Dir mit $query->statement eine eigene Query zu bauen, die die Daten der Länder und Kontinente bereits enthält. Dann die ganze Rückgabe als Array (setRawResultReturn) und die ganze Sache fluppt. Dürften dann auch knapp 299 weniger Queries sein.
    Schau auch mal, ob die Spalten mit den IDs zu den Tabellen einen Index haben.

    Stefan

  • 1