Hallo,
rund 10.000 Produkte im Shop:
im Admin → Kataloge → Produkte: im Suchfeld den Anfang (5 Zeichen) von der Produktnummer eingeben
dauert rund 15 Sekunden bis die Liste aufgebaut ist und die ersten 25 Produkte von 100 angezeigt werden
das ist sehr langsam
Alternativ: im Suchfeld „ALLE“ auswählen und wieder 5 Zeichen eingeben - bringt sofort das Dropdown mit den ersten 10 Treffern.
Auch die Suche nach Produktnummer im Frontend ist rasend schnell …
Wie kann ich den Aufbau der Liste beschleunigen?
Danke
Ab einer gewissen Anzahl an Produkten ist die Standard Suche nicht mehr performant. MySQL benötigt mehr Ressourcen, ist bei den meisten Standard Webhosting Paketen beschränkt.
Würde den Wechsel zu Elasticsearch empfehlen. (Damit ist nicht das Plugin aus dem Store gemeint, sondern ein eigenständiges Programm)
Für Shopware reicht die Anleitung bis Schritt 3 zu befolgen
Danke für die Antwort.
Es ist aber kein SQL Problem, denn die Suche ist überall sehr performant und 10000 Produkte bringen keine sql-datenbank ins schwitzen-ich sehe nicht, wo elastic da helfen kann.
Es geht um das admin-backend mit der Suche-Voreinstellung „Produkte“.
Dann werden bei uns die ersten 25 Produkte angezeigt und als Paging 367 Seiten.
Es sieht so aus, als ob anschliessend per VUE und Javascript in diesen Daten gesucht und gefiltert wird - und das ist natürlich sehr langsam; aber ich weiss nicht ob das stimmt…
Jedenfalls ist die Bearbeitung von Produkte im Admin so praktisch nicht möglich weil zu langsam.
Hier würde sich ein Blick in die Entwicklertools/Netzwerk lohnen. Sollte Aufschluss darüber geben, was bei der Suche nach Produkten passiert und ob die Verzögerung am Server oder am Client liegt.
Ich würde mich dem Problem, exakt wie vom Threadersteller beschrieben, anschliessen.
Suche über ALLE geht sehr schnell (was eigentlich länger dauern müsste), dagegen ist die Produktsuche todeslangsam.
Habe ca. 25.000 Artikel und des dauert bis zu 40 Sekunden. So schlecht kann keine SQL Abfrage sein, vor allem da ohnehin alles via Doctrine optimiert sein sollte.