Closed ghost closed 13 years ago
getPageDetail generiert für die gleiche ID die gleichen Abfragen, was zu gleichen Querys führt und demzufolge durch den Contao DB-Driver gecacht wird.
--- Originally created by backbone on October 25th, 2011, at 01:40am
Trotzdem. Es sind zwei Queries, die zwar gecached werden, ein paar if-Abfragen, etliche Zuweisungen von Variabeln, InsertTag-Stripping usw. Ich denke man könnte $objPage trotzdem cachen oder spricht was dagegen?
--- Originally created on October 25th, 2011, at 08:50am
Bei 10 Abfragen merkt man das auch nicht. Aber in Kombination mit dem Catalog und mehreren tausend Einträgen oder anderen Extensions die auf die selbe Funktion zurückgreifen, wird das zu einem echten Problem.
Unseren Tests zufolge bringt der DB-Driver Cache in solchen Fällen keinen performancebringenden Vorteil.
--- Originally created on October 25th, 2011, at 08:55am
Dann baut mal ein Caching ein, testet es und bringt hier den Patch und die Resultate :)
--- Originally created on October 25th, 2011, at 09:33am
Ich kümmere mich darum.
--- Originally created on October 25th, 2011, at 10:46am
Implementiert in 4b3d4be2f6acf3b5b5c8e3fcdb817b8c.
--- Originally created on October 25th, 2011, at 08:32pm
**VIELEN, VIELEN DANK
![](** Mehr kann ich dazu garnicht sagen) :)
--- Originally created on October 25th, 2011, at 08:37pm
--- Originally completed on October 25th, 2011, at 08:32pm
Die Funktion getPageDetail() in der Controller.php wird anscheinend von verschiedensten Modulen benutzt. Heute hatten wir einen ziemlich extremen Fall wo durch einen vollen Katalog die Extension DomainLink schlappe 2000 mal den Funktionsaufruf durchführte. Das machte dann auch gleich gut 1800 Datenbankabfragen (cached hier der Datenbanktreiber?). Mit Tristan zusammen haben wir das Verhalten von DomainLink angepasst, aber prinzipiell wäre es natürlich schöner, wenn hier ein Caching bereits in der Controller.php stattfinden würde.
Die Funktion getPageDetail() scheint gern verwendet zu werden und wahrscheinlich lassen sich hier noch einige Datenbankabfragen sparen.
--- Originally created by Thraile on October 24th, 2011, at 05:40pm (ID 3577)