#1 (permalink)  
Alt 09.01.2009, 11:22
Benutzer
 
Registriert seit: 21.11.2008
Beiträge: 56
Standard MySQL-select-Abfrage dauert zu lange

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 10.01.2009, 10:28
Erfahrener Benutzer
 
Registriert seit: 19.07.2006
Ort: Hamburg
Beiträge: 912
Standard

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 10.01.2009, 21:26
Benutzer
 
Registriert seit: 21.11.2008
Beiträge: 56
Standard

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

Geändert von ihoppe (14.01.2009 um 21:19 Uhr)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
dauert, lange, mysqlselectabfrage

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Habe einige errors Gilles Installation und Konfiguration 3 06.04.2008 20:16
MySQL Fehler bei Abfrage nach Bestellungen pro Land sugar99 Shopbereich 0 30.03.2008 18:44
Ist Das Absicht Oder Programmierfehler ? smogware Allgemeine Diskussionen 12 18.12.2004 11:21


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand