geschwindigkeit eines db_query

Ruediger

Erfahrenes Mitglied
moin,

ich habe folgendes script:

$query = "select * from mitarbeiter where (stadt = \"$stadt\") AND (status >= 1) AND ($bereich = \"2\")";



Wenn ich davon ausgehe, dass mehr Mitarbeiter den Status >= 1 erfüllen, sollte ich dann die query so umstellen, dass die DB zuerst checkt ob der Status >= 1 ist, also:

$query = "select * from mitarbeiter where (status >= 1) AND (stadt = \"$stadt\") AND ($bereich = \"2\")";

oder macht das von der geschwindigkeit des ergebnisses keinen unterschied?

danke im voraus!
rue
 
Nur eine Vermutung:

Ich denke das Der sowieso jede Zeile einzeln durchgeht und dann auf beide Bedingungen prüft. Wäre deine Bedingung mir OR verknüpft könnte ich mir vorstellen das es schneller geht da er dann die Zweite Bedingung nicht mehr testen muss und mit der nächsten Zeile weitermachen kann.

aber eigentlich hab ich keine Ahnung, finde nur das meine überlegung einigermaßen logisch ist:)

sollte der Thread nicht ins MySQL forum ?!?!?!


tob
 
Du solltest einen Index auf der Tabelle erstellen. In diesem Index musst Du alle Felder eingeben, die im WHERE-Statement abgefragt werden. In Deinem Beispiel also Status, Bereich und Stadt. (Das wichtigste Feld sollte zu oberst sein!)

Die Abfrage wird dadurch viel schneller!!!

Allerdings ist ein Index nur bei grossen Datenmengen sinvoll.

greetings para
 

Neue Beiträge

Zurück