Normalisieren oder nicht - Performancefrage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Normalisieren oder nicht - Performancefrage

    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

  • #2
    ich würde mal sagen die normalisierte Variante ist schneller. Evtl. hilft euch auch der Einsatz von Indizes
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      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

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar

      Lädt...
      X