Mailinglisten-Archive |
>< From: "Christian Hofmann" <php_(at)_privatesponsor.de> > To: <php_(at)_solix.wiso.Uni-Koeln.DE> > Subject: [php] Eine richtige Suchmaschine programmieren? > Date: Wed, 9 Aug 2000 12:12:18 +0200 > Ich speichere jedes Wort in einer SQL-Spalte: > wort1, wort2, wort3, .... Die Tabelle sollte meiner Meinung nach nicht in die Breite (viele Spalten) sondern in die Tiefe wachsen. Also eine Tabelle mit den Spalten "Wort" und "Datei" (und/oder "Zeilennummer" und am besten noch eine Spalte "id") erzeugen und einen Index auf die Spalte "Wort" legen. Nach einer relativ kurzen Zeit wird aber die Datenbank riesige Dimensionen annehmen und auch relativ träge werden, da das obige Beispiel natürlich sehr viele redundante Einträge enthält, da ein bestimmtes Wort ja ständig auf 's neue abgelegt wird. Darum ist es besser, die Spalten "Wort" und "Datei" in jeweils eine Tabellen auszulagern und über eine Spalte "id" mit einer 1 zu n Beziehung zu verknüpfen. Die Spalte "Wort" sollte wieder indiziert werden (Duplikate ausschließen). Mit diesen beiden Vorschlägen kann der Aufwand im select-Statement auch deutlich verringert und übersichtlicher gestaltet werden. -------------------- Armin Grubert info_(at)_geocontact.de --------------------
php::bar PHP Wiki - Listenarchive