Hi,
ich würde gerne wissen, ob bei einer großen Anzahl von indizierten Dateien
die Suche durch die Dateien mit einem Skript schneller sein kann als die
Abfrage eines SQL-Servers. Hintergrund: wenn ich eine Indexdatei erstelle (entweder
als File oder als Datenbanktabelle), die eine ID für die URL, das Schluesselwort
und die Relevanz erhaelt, dann bekomme ich bei Abfragen, in denen die
Woerter mit "und" verknüpft sind, bei SQL ein Geschwindigkeitsproblem,
da ich die Indextabelle mit "JOIN" mit sich selbst verbinden muß.
Solange die Anzahl der Treffer für jedes Schlüsselwort relativ klein ist, geht
das, aber wenn zwei Woerter verknuepft werden, bei denen die Trefferanzahl sehr
groß ist (in meinem Test: >250 bei einer Indexgroesse von 200000 Zeilen), dann
wird das ganze recht langsam (ca. 30s).
Nun scheint dieses Problem mit UND-Abfragen nicht zu entstehen, wenn ich
ein Skript haette, dass die Indexdatei durchsucht, weil sich das Skript im
Gegensatz zu einem SQL-Server merken kann, daß eine der letzten
durchsuchten Reihen auch schon zur gleichen URL gehoerte, und das
erste Schlüsselwort enthalten hat. Die Frage ist, ob das schneller sein kann,
oder ob der Vorteil nicht wieder verlorengeht, wenn ich dann im Skript die
gefundenen Dateien nach Relevanz sortieren muß.
Gruesse
Stephan