ihoppe Posted January 9, 2009 Report Share Posted January 9, 2009 Hallo, ich habe zwei Suchabfragen, die die passende Produkte im Shop ausgeben. Beide SQL-Befehle sind ähnlich, allerdings benötigt die eine Suche ca. 10 sek., hingegen die andere nicht einmal 1 sek. (in php-MyAdmin getestet) Meine Frage ist: Kann es sein, dass eine Suche so lange dauert? Es werden nur 10 Produkte durchsucht!? Wenn ja, wie kann ich im Shop den Hinweis einbetten, dass der Nutzer um einen Moment Geduld gebeten wird. Wahrscheinlich kann die SQL-Abfrage optimiert werden!!? Hier die SQL-Abfrage, die so lange dauert: SELECT distinct Unterabfrage.*, p.products_id, p.products_price, p.products_model, p.products_quantity, p.products_shippingtime, p.products_fsk18, p.products_image, p.products_weight, p.products_tax_class_id, pd.products_name, pd.products_short_description, pd.products_description FROM ( SELECT products_gewinde.products_id FROM products_gewinde, products_modelle_gewinde, products AS p , products_description AS pd WHERE products_gewinde.AA >= '200' AND products_gewinde.BB >= '200' AND products_gewinde.ZMIN <='47' AND products_gewinde.ZMAX >='47' ) as Unterabfrage INNER JOIN products AS p ON Unterabfrage.products_id=p.products_id LEFT JOIN products_description AS pd ON (p.products_id = pd.products_id) WHERE p.products_status = '1' AND pd.language_id = '2' Vielen Dank für Hinweise. Ines Hoppe Link to comment Share on other sites More sharing options...
John Steed Posted January 10, 2009 Report Share Posted January 10, 2009 Hallo Ines! Hui, ein Select/Subselect mit zwei Joins über die gesamte Produkttabelle ist schon ein heisser Kandidat für lange Laufzeiten... Hast Du in der "Gewindetabelle" (die ja offensichtlich selbst erstellt ist) Indizes gesetzt? Du schreibst, dass Du eine ähnliche Abfrage hast, die schneller geht - poste die doch auch mal bitte, damit man den Unterschied sehen kann! Cheers, IaN Link to comment Share on other sites More sharing options...
ihoppe Posted January 10, 2009 Author Report Share Posted January 10, 2009 Hi IaN, habe den Fehler selbst gefunden. Ich habe einen table (products_modelle_gewinde) zuviel aufgerufen - peinlich! Der war noch als Rest aus der ersten Abfrage drin. Hier der live-Shop: www.wandhalterung.tv Danke Dir, IaN! Auch nochmals Danke für den google-Link zu waaza.eu für die pdf-Rechnungen! Es funktioniert wunderbar!!! Grüße aus Berlin! Ines Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.