Heim >Datenbank >MySQL-Tutorial >Wie kann ich Schlüsselwörter aus einer durch Kommas getrennten Zeichenfolge in einer MySQL-Tabelle aufteilen und effiziente Beziehungen für die Nachabfrage erstellen?

Wie kann ich Schlüsselwörter aus einer durch Kommas getrennten Zeichenfolge in einer MySQL-Tabelle aufteilen und effiziente Beziehungen für die Nachabfrage erstellen?

DDD
DDDOriginal
2024-10-31 08:39:30390Durchsuche

How can I split keywords from a comma-separated string in a MySQL table and create efficient relationships for post querying?

Schlüsselwörter für Beiträge mit PHP und MySQL aufteilen

In diesem Zusammenhang werden wir Schlüsselwörter, die in einer einzelnen Spalte einer Tabelle gespeichert sind, effizient aufteilen Verteilen Sie sie auf zwei neue Tabellen, um Datenintegrität und optimierte Abfragen sicherzustellen.

Hintergrund:
Wir haben eine Tabelle mit dem Namen „post_tags“, die Beitrags-IDs (post_id) und entsprechende Tags (tags_csv) enthält ) durch Kommas getrennt. Unser Ziel ist es, zwei zusätzliche Tabellen zu erstellen: „keywords“ zum Speichern eindeutiger Schlüsselwörter und „post_keywords“, um Schlüsselwörter mit Beiträgen zu verknüpfen.

Optimierte Lösung:
Wir können die gespeicherte Prozedur von MySQL nutzen um diese Aufgabe effizient zu bewältigen. Die Prozedur „normalise_post_tags“ durchläuft sorgfältig die Post-Tags, extrahiert Schlüsselwörter und fügt sie in die Tabelle „Schlüsselwörter“ ein. Anschließend ordnet es Schlüsselwörter den Beitrags-IDs in der Tabelle „post_keywords“ zu.

Implementierungsdetails:

  1. Datenvorbereitung:

    • Erstellen Sie die Tabelle „post_tags“ mit Beitrags-IDs und Tags.
    • Erstellen Sie die Tabelle „keywords“ mit einem eindeutigen Schlüssel für Schlüsselwortnamen.
    • Erstellen Sie die Tabelle „ Tabelle „post_keywords“ mit einem zusammengesetzten Primärschlüssel aus keyword_id und post_id.
  2. Gespeicherte Prozedur:

    • Die „normalise_post_tags“ Das Verfahren verwendet einen Cursor, um die Tabelle „post_tags“ zu durchlaufen.
    • Es identifiziert Schlüsselwörter, indem es die Zeichenfolge „tags_csv“ durch Kommas aufteilt, die Schlüsselwörter kürzt und sie in „keywords“ einfügt, wenn sie nicht vorhanden sind.
    • Die Prozedur ruft die keyword_id für jedes Schlüsselwort ab (oder ruft die ID ab, wenn das Schlüsselwort bereits existiert) und speichert die Zuordnung in der Tabelle „post_keywords“.
  3. Ausführung:

    • Führen Sie die Prozedur „normalise_post_tags“ aus, um das Teilen und Einfügen durchzuführen.

Vorteile von Dieser Ansatz:

  • Effizienz: Durch die Verwendung einer gespeicherten Prozedur vermeiden wir wiederholten Verbindungs- und Ausführungsaufwand, was die Leistung erheblich verbessert.
  • Datenintegrität: Der zusammengesetzte Primärschlüssel in der Tabelle „post_keywords“ stellt sicher, dass Schlüsselwort- und Beitragszuordnungen eindeutig sind.
  • Optimierte Abfrage: Der geclusterte zusammengesetzte Primärschlüssel in „post_keywords“ ermöglicht effiziente Abfragen zu Schlüsselwort-Beitragsbeziehungen.

Beispielverwendung:

Nachdem die Tabelle „post_tags“ mit Daten gefüllt wurde, wird die Prozedur „normalise_post_tags“ ausgeführt erstellt die Tabellen „keywords“ und „post_keywords“, wobei Schlüsselwörter auf optimierte Weise aufgeteilt und mit Beiträgen verknüpft werden.

Das obige ist der detaillierte Inhalt vonWie kann ich Schlüsselwörter aus einer durch Kommas getrennten Zeichenfolge in einer MySQL-Tabelle aufteilen und effiziente Beziehungen für die Nachabfrage erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn