Bei größeren Datenmengen ist es nach meinen Erfahrungen immer schneller die Lösung über
SQL zu fahren, speziell, wenn die Felder indiziert sind.
Grund: bei kleinen Datenmengen fällt der Overhead durch Queryanalyzen und Optimierungen negativ auf. Wenn jedoch große Datenmengen durchsucht werden stört das nicht mehr. Jetzt muss nur noch für die zurückgelieferten Daten eine Zeigerarray (Datenset) erstellt und genutzt werden und das ist der eigentliche Zeitfaktor.
Kurz: Lässt Du Dir alle Datensätze zurückgeben, so wird der Zeitanteil deer Aufbereitung so groß, daß der Zeitgewinn durch die nicht-
DB-seitige Analyze einer komplexeren
Query verloren geht. Auf welcher Seite die Daten überprüft werden ist eigentlich egal. Wobei davon auszugehen ist, daß die
DB hier sogar schneller ist, da der Algorithmus wahrscheinlich besser ist als Deiner und
da die
DB direkt an den Daten testen kann, ohne daß diese für Deine Anwendung vorher aufbereitet werden müssen.
...
...