ebiz-consult PHP Entwicklung
- Ad -
IMPRESSUM dotted_line KONTAKT dotted_line search dotted_line Contact dotted_line sitemap
288 PHP-Resource Mitglieder online
php-resource



Archiv verlassen und diese Seite im Standarddesign anzeigen :
Normalisieren oder nicht - Performancefrage


 
Leini
14-03-2007, 09:46 
 
Hallo zusammen,

ich bin gerade mit einem Komilitonen am diskutieren, welcher Lösungsansatz unter Performancegesichtspunkten der bessere sei.

Ziel ist es eine Volltextsuche in Textdokumenten zu realisieren.

Ansatz 1 (2 Tabellen), normalisiert:

1 Tabelle mit id und keyword.
1 Tabelle mit id, keyword_id, anzahl und dokument_id. Fremdschlüssel die keyword_id

Abfrage des Ergebnisses über einen JOIN auf die 2. Tabelle

Ansatz 2 (1 Tabelle), nicht normalisiert.

id, keyword, dokument_id, anzahl. keyword und dokument_id als unique-key

Abfrage über ein normales SELECT

Jetzt die alles entscheidende Frage:
Welcher der beiden Ansätze dürfte performanter sein? Als Datenmenge gehen wir mal von > 1.000.000 Einträgen aus.

Normalerweise hätte ich das ja testweise auf beide Arten umgesetzt, aber mit fehlt da momentan die Datenbasis ;)

 
XGremliN
14-03-2007, 10:00 
 
ich würde mal sagen die normalisierte Variante ist schneller. Evtl. hilft euch auch der Einsatz von Indizes

 
ghostgambler
14-03-2007, 14:38 
 
Und ich würde mal sagen die Nutzung einer adäquaten Search-Engine (z.B. lucene), wäre in diesem Fall mit Abstand an besten oO


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:44 Uhr.