Ich entwickelte eine Extbase-Erweiterung mit Listen- und Detailansicht (Liste und Show-Aktion). Für die Links schön zu sehen Ich bin mit realurl ...TYPO3 - Performance-Drop Zugriff auf einen Datensatz mit einer großen Anzahl von Datensätzen (> 1 Million)
<f:link.action action="show" pageUid="43" arguments="{record:record.uid}">{record.name}</f:link.action>
domain/?tx_abc_abc[record]=1&tx_abc_abc[action]=show&tx_abc_abc[controller]=Abc&cHash=10c78febea3ae5dsdf535fb36ca6d08
domain/category/record_id/
Aber mit der Anzahl der Datensätze jetzt erreicht über 1 Million Datensätze Ich bin ein bisschen ein Leistungsabfall Zugriff auf die Detailseite zu erfahren. Ich habe auch 2 Sprachen.
Was kann ich tun, um den Leistungsabfall zu stoppen oder die Leistung zu erhöhen?
In einigen Setups ich sehe, dass eine Aufzeichnung zugreifen wie dies umgesetzt wird:
domain/category/?record_id=DE00ABC03709
Ist dies durch eine JSON Ansicht/(RESTful) API wie das getan? https://usetypo3.com/json-view.html
Es gibt viele Faktoren, Sie können Ihre Modell 'record' Eigenschaften überprüfen, wie viele davon haben' \ TYPO3 \ CMS \ Extbase \ Persistence \ ObjectStorage'? Überprüfen Sie auch das Zwischenspeichern der Detailseite und Ihre Serverkonfigurationen. – ravisachaniya
Verwenden Sie die Methode 'findAll()' Ihres Domänenrepositorys, um * alle * Entitäten in der Listenansicht zu rendern? In diesem Fall sollten Sie eine Seitennummerierung verwenden, um die Menge an Daten zu reduzieren, die aus der Datenbank abgerufen und als HTML gerendert werden. Eine bessere Alternative wäre in der Tat, den HTML-Overhead zu reduzieren, der verwendet wird, um jede Entität zu umhüllen und nur Daten über AJAX als JSON abzurufen - das Rendern könnte mit Datenbindung erfolgen, wie z. Eckig oder z.B. RivetJS ist eine leichte Implementierung nur für diesen Zweck. –