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

