Ich habe eine db mit zwei Tabellen: Seiten und Tags, die wie folgt strukturiert sind:Fulltextsuchung vs id Suchgeschwindigkeit mit MySQL
- Seiten: page_id, page_text, page_tags (ca. 60.000 Datensätze jederzeit)
- tags: tag_id, tag_text
(ca. 300.000 Datensätze jederzeit)
Jede Seite ist mit einer Anzahl von Tags (unter Verwendung der page_tags Spalte) zugeordnet ist. Meine Frage ist über pages.page_tags und insbesondere, welcher Weg ist am effizientesten für die Speicherung der oben genannten Assoziation?
Eine Möglichkeit zur Volltextindex page.page_tags sein würde und speichern Sie den Text der zugehörigen Variablen gibt, zum Beispiel: Apfel orange Frucht Marmelade
eine zweite Art und Weise auch Seite Volltextindex sein würde. page_tags sondern speichert die IDs der zugehörigen Variablen zum Beispiel: 132 14 24192 14
einen dritten Weg eine dritte Tabelle zu machen wäre: tag_assoc, wie folgt aufgebaut:
tag_assoc: page_id, tag_id
(wo für jeden Tag in einer Seite wird es mit einem Datensatz vorhanden sind sowohl die IDs der Seite und dem Tag)
, die Sie tun denken, ist die effizienter Weg? Vor allem in Bezug auf:
- A) Suchgeschwindigkeit für Anfragen wie: "hol mir jede Seite, die Tags hat: Apfel und Orange"
- B) die Aktualisierung der Tabellen. Eine neue Seite könnte ziemlich oft in der Datenbank ankommen. Das bedeutet, wenn ein neues -Tag in einigen dieser Seiten gefunden wird, das nicht in der Tag-Tabelle existiert, muss ich es dort hinzufügen.
Wenn keiner von ihnen, was würden Sie vorschlagen?
Danke Jungs. Beide Antworten waren gleichermaßen hilfreich, so dass ich nur die Antwort akzeptieren konnte, die schneller beantwortet wurde – Alexandros