Mailinglisten-Archive |
Hi Ben/B.Wolf, in der Tat könnte die Abfrage einfacher sein, wenn die Struktur anders ist. Allerdings ist Dein Modell bisher so, wie man es logischerweise umsetzt. Meiner Meinung nach müßte jede Umsetzung, so sie denn die Struktur entsprechend normalisiert behält die Schwierigkeit haben, daß man eine Menge von Suchbegriffen mit einer Menge von Ergebnismengen (jeder Benutzer definiert ja mit seinen Suchbegriffen wieder eine Menge) vergleichen muß. Legt man die Mengen der Suchbegriffe jedes Benutzers aber nicht in einer Tupel-Menge sondern in einem Feld allein ab, könnte die Abfrage über String-Operationen laufen. Ob das ebenso performant ist, bleibt auszuprobieren und ob das dann eine schöne SQL-Umsetzung ist, bezweifel ich mal. Einige erklärende Worte zu meiner Idee mit der Verkettung: Wenn in den Suchbegriffen des Benutzers keine Leerzeichen oder Kommas enthalten sind, könnte dies als Trenner in dem Alle-Suchbegriffe-Feld dienen. Aber im Endeffekt wird die Arbeit für die Middleware dann mit Einfügen, Ändern und Löschen von Suchbegriffen wesentlich komplexer als bei einer Tupel-Variante. Man würde sich die einfache Suche nur über diese Mehrarbeit erkaufen. Wenn ich die Mehrarbeit mit einer "zusammengestückelten" Abfrage, wie ich sie schon schrieb, vergleiche, ist die Abfrage gar nicht so kompliziert zu erstellen. Es sind pro Suchbegriff nur zwei zusätzliche Teile im WHERE-Teil und eine zusätzliche Tabelle im FROM-Teil anzufügen. Das klingt nach einfacheren Sting-Operationen, als sie mit der Verkettungsvariante zu bewältigen wären. ... das zu meiner Idee. Evtl. gibt es aber doch noch eine passende Bibliothek für Deine Middleware, mit der eine (ähnliche) Umsetzung der Verkettung sehr einfach umgesetzt werden kann. Gruß, Christoph -- Fingerprint=65B7 73B6 5969 AC2B 4572 39A2 0DBC DAC1 3D6A 45B7 ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive