MySQL: Zeit fürAbfrage abschätzen

MySQL: Zeit fürAbfrage abschätzen

am 17.07.2005 11:38:33 von Stefan Heinrichsen

Hallo,

ich habe hier eine relativ große Datenbank auf der der User suchen kann.
Das Problem ist wenn er zu unscharfe Suchbegriffe eingibt wird das
Ergebniss sehr groß und überlastet den Server vollkommen.
Also Workaround hab ich z.Zt. das sortieren deaktiviert und limitiere
immer auf 30 Datensätze/Anfrage.

Das Limit ist vollkommen OK allerdings möchte ich die Sortierfunktion
gerne aktivieren.
Da es sehr aufwändig (unmöglich?) wäre die Suchbegriffe auf ihre sch=
ärfe
zu untersuchen hatte ich die Idee ob es vielleicht bei MySQL eine
Möglichkeit der Art gibt, dass ich den Server frage "was schätzt du wie
lange du für folgenden SQL-String brauchst" und wenn die antwort unter x
sekunden ist schicke ich die Anfrage ansonsten sag ich dem User er soll
die Suche verfeinern.

stefan

Re: MySQL: Zeit für Abfrage abschätzen

am 17.07.2005 14:18:32 von Stefan Rybacki

Stefan Heinrichsen wrote:
> Hallo,
>
> ich habe hier eine relativ große Datenbank auf der der User suchen kann.
> Das Problem ist wenn er zu unscharfe Suchbegriffe eingibt wird das
> Ergebniss sehr groß und überlastet den Server vollkommen.

Was heißt überlastet? Was sagt Explain zu den überlastenden Abfragen? Vielleicht hilft dir
ein Index?

> Also Workaround hab ich z.Zt. das sortieren deaktiviert und limitiere
> immer auf 30 Datensätze/Anfrage.
>
> Das Limit ist vollkommen OK allerdings möchte ich die Sortierfunktion
> gerne aktivieren.
> Da es sehr aufwändig (unmöglich?) wäre die Suchbegriffe auf ihre schärfe
> zu untersuchen hatte ich die Idee ob es vielleicht bei MySQL eine
> Möglichkeit der Art gibt, dass ich den Server frage "was schätzt du wie
> lange du für folgenden SQL-String brauchst" und wenn die antwort unter x
> sekunden ist schicke ich die Anfrage ansonsten sag ich dem User er soll
> die Suche verfeinern.

Bis denn dann
Stefan

>
> stefan

Re: MySQL: Zeit fürAbfrage abschätzen

am 17.07.2005 15:19:47 von Stefan Heinrichsen

Am So 17.07.05 um 14:18 CEST schrieb Stefan Rybacki
:

> Stefan Heinrichsen wrote:
> > Hallo,
> >=20
> > ich habe hier eine relativ große Datenbank auf der der User suchen
> > kann. Das Problem ist wenn er zu unscharfe Suchbegriffe eingibt wird
> > das Ergebniss sehr groß und überlastet den Server vollkommen.
>=20
> Was heißt überlastet? Was sagt Explain zu den überlastenden Abfrage=
n?
> Vielleicht hilft dir ein Index?

Ein Index - Ja. Hätte wirklich nicht gedacht dass der soviel bringt!
Läuft jetzt ganz flott alles :)