Hallo zusammen,
ausgerechnet am Sonntagfrüh habe ich gestern feststellen müssen, dass sich bei mir im Shop die product_info.php nicht mehr aufriefen ließ.
Es kan folgender Fehler:
1104 - The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay
select p.products_fsk18, p.products_shippingtime, p.products_model, p.products_ean, pd.products_name, m.manufacturers_name, p.products_quantity, p.products_image, p.products_weight, pd.products_short_description, pd.products_description, p.products_id, p.manufacturers_id, p.products_price, p.products_vpe, p.products_vpe_status, p.products_vpe_value, p.products_discount_allowed, p.products_tax_class_id from products_description pd, products_to_categories p2c, products p left join manufacturers m on p.manufacturers_id = m.manufacturers_id left join specials s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '2' and p2c.categories_id = '500' ORDER BY p.products_price ASC
[XT SQL Error]
Nun habe ich natürlich die Suchfunktion hier bedient, einige Stunden Google usw. So richtig geholfen hats mir aber noch nicht.
A) mein Webhoster muss erst prüfen, in wieweit er den Speicher vergrößern kann, ohne dass dies den Betrieb einschränkt. Zusätzlich muss der DB-Server neugestartet werden, da kann bis zu 30 Tage dauern.
vorweg: heute morgen habe ich dann eine "Zwischenlösung" gefunden. Ich hab im Adminbereich die Funktion "Zeige andere Produkte, die Kunden gekauft haben, die dieses Produkt gekauft haben" von 3 auf 0 gestellt, sprich deaktiviert. Gott sei Dank hab ich das gefunden, denn nun gehts vorerst mal wieder. (Bestellungen haben wir inzwischen so 15.000 Stück mit ca. 20.000 verkauften Artikel (Tabelle: oders_products)
Jetzt weiß ich nur nicht genau, habe ich das Problem damit endgültig beseitigt oder nur aufgeschoben? Nächstesmal wüsst ich nämlich nichts mehr, was ich noch deaktivieren könnte.
C) Ich hab wohl eine Lösung für OS-Commerce gefunden. Da gings allerdings im Specials und deren Preise. Man sollte einen Index erstellen, hat bei mir glaub nichts geholfen.
D) Dann hab ich noch diesen Fix gefunden (für OS)
osCommerce Community Add-Ons
Man soll dort nach einer Funktion in der product_info.php suchen. Naja nur steht die bei XT halt irgendwo anders. Die /inc/ get_products_*.php hab ich alle geschaut, konnte da nix finden.
Es heißt dort an soll die Zeile einbauen tep_db_query("set sql_big_selects=1");[/PHP]
Und zwar vor dem Teil hier:
[PHP][B]$product_check_query[/B] = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
$product_check = tep_db_fetch_array($product_check_query);[/PHP]
Nur den kann ich nirgendwo finden. Könnt ihr da weiterhelfen?