phpbar.de logo

Mailinglisten-Archive

[php] Re: php digest, Vol 1 #1559 - 21 msgs

[php] Re: php digest, Vol 1 #1559 - 21 msgs

Armin Grubert armin.grubert_(at)_gla-rlp.de
Wed, 09 Aug 2000 16:06:32 +0200


>< 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