hat noch wer das Phänomen das nach dem Update von 4.5.9 auf 4.5.10 ein reisen DB auftritt, und zwar sobald man irgendein Kategorie Link anklickt?
Ich hab das Problem auf die core/oxattributelist.php public function loadAttributes() reduziert.
Der Query wird “unendlich lange” ausgeführt(mehrere minuten).
Mit der 4.5.9 Version der Datei ist alles wunderbar Flott.
[QUOTE=bhasis;87752]
Ich hab das Problem auf die core/oxattributelist.php public function loadAttributes() reduziert.
Der Query wird “unendlich lange” ausgeführt(mehrere minuten).
Mit der 4.5.9 Version der Datei ist alles wunderbar Flott.
[/QUOTE]
Hast du dir mal hier die Unterschiede zur Version 4.5.9 angeschaut?
Klar,
die Ä’nderung soll dazu dienen das Varianten Auch die Attribute des Vaters haben( bugTracker), soweit ich das jetzt so auf die schneller alles überblicke. Nur mein Problem ist das es zu unendlichen Laufzeiten bei mir führt.
[QUOTE=bhasis;87755]Klar,
die Ä’nderung soll dazu dienen das Varianten Auch die Attribute des Vaters haben( bugTracker), soweit ich das jetzt so auf die schneller alles überblicke. Nur mein Problem ist das es zu unendlichen Laufzeiten bei mir führt.
mfg[/QUOTE]
Hm, welcher Hoster? Bzw. hast du genug Power? Hast du besonders komplexe Auswahllisten? Tritt das vielleicht beim Mergen von Auswahllisten auf?
Was ist, wenn du gezielt die Änderungen zurück nimmst über ein kleines Modul oder tausch der Datei (sofern möglich)?
[QUOTE=jkrug;87758]Hm, welcher Hoster? Bzw. hast du genug Power? Hast du besonders komplexe Auswahllisten? Tritt das vielleicht beim Mergen von Auswahllisten auf?
Was ist, wenn du gezielt die Änderungen zurück nimmst über ein kleines Modul oder tausch der Datei (sofern möglich)?[/QUOTE]
Also an der Power kann es nicht liegen, da es vorher keine performance Probleme gab.
Ich habe keine Auswahllisten.
Wenn ich gezielt die Funktion aus 4.5.9 Benutzte ist es wieder in Ordnung.
Hier der Query der mir das Genick bricht, wie gesagt zu finden in oxattributelist::loadAttributes():
SELECT `Attributes`.`oxid`, `Attributes`.`oxtitle`, IFNULL( `ArticleAtrr`.`oxvalue`, `ParentAtrr`.`oxvalue` ) AS `oxvalue`
FROM oxv_oxattribute_1_de AS `Attributes`
left JOIN oxv_oxobject2attribute_de AS `ArticleAtrr` ON `Attributes`.`oxid` = `ArticleAtrr`.`oxattrid`
left JOIN oxv_oxobject2attribute_de AS `ParentAtrr` ON `Attributes`.`oxId` = `ParentAtrr`.`oxattrid`
WHERE 1 AND `ArticleAtrr`.`oxobjectid` = '{$sArtId}' AND `ArticleAtrr`.`oxvalue` != '' OR `ParentAtrr`.`oxobjectid` = '{$sParentId}'
AND `ParentAtrr`.`oxvalue` != ''
ORDER BY `ArticleAtrr`.`oxpos`, `ParentAtrr`.`oxpos`, `Attributes`.`oxpos`
Laut meinem SQL Browser versucht er eine Temporäre Tabelle anzulegen, und hierbei bleibt er hängen.
Bei uns sind nun doch Fehler aufgetreten.
So können wir keine Bilder mehr hochladen. Dabei bekommen wir ebenfalls einen Ausführungsfehler. Das Bild hänge ich mir mal mit an!
Könnte bei beiden das selbe Problem sein?
Welches Skript könnte ggf. die falsche Rechtevergabe (755) haben? Dann könnte ich dies auch nochmal kontrollieren.
@Ray
Welche Berechtigungen genau? Wie kann man dies kontrollieren?
[QUOTE=Hebsacker;87802]fehlt dem DB-User da eine Berechtigung?[/QUOTE]
Nein.
Also ich habe mir grad einen Komplett neuen Shop(4.5.10 mit demodaten) aufgesetzt, und bei einem Artikel 2 Varianten angelegt, dann die entsprechende Seite im Frontend aufgerufen und mir den Query ausgeben lassen. Resultat ist das der Query wenn ich ihn allein Laufenlassen satte 10 Sekunden Frisst, selbst bei so kleinen Datenmengen wie in der Demo ist das schon ziemlich krass.
Wir sind nicht zu 100% sicher, ob das wirklich die Lösung für das aufgetretene Problem ist, deshalb müssen wir erst noch ein wenig nachforschen und sind soeben dabei, alle Downloads für Komplett- und Updatepakete zurückzunehmen.
Super, das war das Problem. Seit gestern abend häng ich daran fest (@Marco siehe Twitter). Ich hab eben gerade das SQL-Statement extrahiert welche dies Probleme macht:
SELECT Attributes.oxid , Attributes.oxtitle , IFNULL( ArticleAtrr.oxvalue , ParentAtrr.oxvalue ) AS oxvalue
FROM oxattribute AS Attributes
LEFT JOIN oxobject2attribute AS ArticleAtrr ON Attributes.oxid = ArticleAtrr.oxattrid
LEFT JOIN oxobject2attribute AS ParentAtrr ON Attributes.oxId = ParentAtrr.oxattrid
WHERE 1
AND ArticleAtrr.oxobjectid = ‘589610’
AND ArticleAtrr.oxvalue != ‘’
OR ParentAtrr.oxobjectid = ‘A7101378’
AND ParentAtrr.oxvalue != ‘’
ORDER BY ArticleAtrr.oxpos , ParentAtrr.oxpos , Attributes.oxpos
Das holt die Attribute von Varianten. Wenn man das bei phpMyAdmin einträgt reagiert die Seite nicht mehr bzw. kommen unendlich viele Ergebnisse. Ich hatte schon befürchtet, dass meine Datenbank kaputt ist.
Mit den neuen Dateien scheint es jetzt aber zu funktionieren.