Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: Benötigte Zeit für einen Abfrage

  Alt 27. Dez 2013, 18:54
Ein OR Kriterium bedeutet -unter Verwendung von Indizierung- immer, dass die DB >nacheinander< den Surchvorgang für die OR Kriterien durchführen muss.
Hier also:
Suche alle Sätze ~"mit München"
dann
Suche alle Sätze ~"mit Frankfurt"

Angenommen, solche Suchvorgänge dauern immer gleich lang, dann dauert die Suche nach 'München or Frankfurt' doppelt so lange wie die Suche nach nur einem der Orte.
Ist ein weiteres Kriterium im Spiel, kann diese doppelte Suche auf der Teilmenge vorgenommen werden, die sich durch das konstante 2. Kriterium ergibt und die ist mglw so klein, dass es gar nicht auffällt. Das Verhalten hängt dann von der Implementierung des Optimizers ab.

Das oben Genannte gilt nur bedingt oder gar nicht für teil- oder gar nicht indizierte Kriterienfelder bzw. Kriterien, die nicht mittels Index untersucht werden können. Siehe Antwort von Sir Rufo.

Ist bspw. das erste gemeinsame Suchkriterium- hier 4EE- von geringer >Selektivität<, dann ist die sich daraus ergebende Einschränkung so gering, dass ein fehlender Index auf dem 2 Kriterium praktisch einem Full Table Scan gleich kommt.
Gruß, Jo
  Mit Zitat antworten Zitat