Fulltext Index für Longtext greift nicht.

dcst55

Aktiver Benutzer
Beiträge
48
Hallo zusammen,
Ich habe eine MariaDB 10.5 im Einsatz.
Darin habe ich eine simple InnoDB Tabelle mit zwei Spalten und etwa 400.000 Zeilen.
1. PK
2. Longtext

Die erste Spalte enthält die ID (PK).
In der zweiten Spalte werden die Inhalte von Konfigurationsdateien abgelegt, die unter anderem IP-Adressen enthalten. Nach diesen IP-Adressen möchte ich filtern.

Wenn ich ein klassisches Select ausführe, bspw. Select ID from Tabelle where zweite_Spalte like "%192.168.0.1%"

Braucht die Abfrage etwa 1:30 Minuten.
Ein Fulltext Index auf die zweite Spalte habe ich vergeblich gesetzt. Dieser wird leider nicht herangezogen.

Könnt ihr mir sagen, wieso mein Index nicht genutzt wird? Habt ihr Ideen, wie ich die Abfrage oder das DB-Design optimieren kann?

Besten Dank im Voraus!
 
Werbung:
Ich vermute, es geht um die Inhalte der Configs.
Fulltextsuche eignet sich vermutlich technisch nicht so gut, um derartige Daten zu indizieren bzw. dann treffsicher zu finden.
Man müsste schon die Volltextsuche gut anpassen können, um Zahlen usw. .. halt typische Config kram sicher zu finden.

Vielleicht schaust Du Dir mal ein Tutorial an, wie Volltextsuche eigentlich funktioniert (nicht nur den Index anzulegen)
 
hi,

schick mal ein Beispeil deiner Tabelle mit ein paar Zeilen Config. Zeig uns auch mal dein SELECT-Query.
 
Zuletzt bearbeitet:
Ob ein paar Zeilen reichen? Es gibt ja erstmal grundsätzlich verschiedene Konfigformate, von diversen Linux Text files, INI, JSON, XML bis YAML..
Ein Beispiel Select steht bereits oben. Sieht m.E. nicht besonders Fulltext artig aus.
 
Ob ein paar Zeilen reichen? Es gibt ja erstmal grundsätzlich verschiedene Konfigformate, von diversen Linux Text files, INI, JSON, XML bis YAML..
Ein Beispiel Select steht bereits oben. Sieht m.E. nicht besonders Fulltext artig aus.
Tja, und die Formate kann man schon an wenigen Zeilen erkennen und eine einfaches LIKE ist ja nicht hilfreich oder ???? bist du Hellseher ? Weiter weiss ich nicht warum du schreibst: Fulltextsuche eignet sich vermutlich technisch nicht so gut . Richtig angewendet sollte das schon passen.
 
Naja, ein einfaches Like hat er gepostet, deswegen habe ich empfohlen, mal ein Tutorial zur Volltextsuche zu nutzen. Warum sollte ich Hellseher sein?
Konfigs können viele Zahlen oder sehr kurze "Texte" enthalten. Nicht unbedingt die Stärke von Volltextsuche. Mit einer Standardkonfiguration kommt man vermutlich nicht weit, das ist nicht nur eine Anwendungsfrage.
 
Wir wissen nicht, die die Configdatei aufgebaut ist. Möglicherweise sind das aber aber Key-Value - Paare. Das könnte man easy parsen und neben der Config die Key-Value - Paare als solche speichern - z.B. via HSTORE, falls man eine DB hat, die sowas kann. Das könnte man dann passend indexieren und hätte exakt das, was der Fragesteller sucht.

(die Key-Values-Paare könnten direkt als GENERATED-Feld im HSTORE-Format speichern. das zerparsen sollte easy mit plpgsql machbar sein - in PostgreSQL).
 
Naja, ein einfaches Like hat er gepostet, deswegen habe ich empfohlen, mal ein Tutorial zur Volltextsuche zu nutzen. Warum sollte ich Hellseher sein?
Konfigs können viele Zahlen oder sehr kurze "Texte" enthalten. Nicht unbedingt die Stärke von Volltextsuche. Mit einer Standardkonfiguration kommt man vermutlich nicht weit, das ist nicht nur eine Anwendungsfrage.
Ich glaube das der User von dir/uns Hilfe haben wollte und ein einfacher Verweis auf ein Tutorial da gar nicht gut kommt. Zu den Stärken und Schwächen von Volltextsuche und deren Indizierung kann ich dir nur empfehlen dir mal sie Sourcen genauer anzusehen. Die Volltextsuche ist schon ein sehr leistungsstarkes Werkzeug.

Und meine Frage nach mehr Information habe ich schon gezielt gestellt um zu sehen welche Möglichkeiten es gibt.

Ich mag solche Frasen einfach nicht: "Setz eine andere DB ein" oder "schau dir ein Tutorial an".

Der User ist hier im Forum um HIER Hilfe zu erhalten. Sonst macht sowas keinen Sinn um man kann direkt eine Weiterleitung zu den Handbüchern machen.

Aber du als "Guru" solltest dies ja alles wissen!

Gruß Bernd
 
ot
Es gibt dutzende Volltextsuche Tutorials, sogar für mysql und maria in verschiedenen Versionen. Die sind bestimmt hilfreich, wenn jemand da mit "like .." anfängt. Soll ich die Tutorials abschreiben? Oder in eigene Worte fassen? Und es muss ja auch nicht gut kommen. Der User kann mich ignorieren. Wir sind ja nicht im Kindergarten. Du bist ja auch noch da und andere. Wenn Du Dir die Mühe machen möchtest, schau mal in meinen Beiträgen, wie oft ich Tutorials empfehle. "Setz eine andere DB ein" habe ich nicht geschrieben.
Deine Frage nach mehr Informationen habe ich lediglich vertieft, in dem ich extra nachgehakt und auf unterschiedliche Formate hingewiesen habe.
Auch der Hinweis auf Handbücher ist nicht grundsätzlich verkehrt, hab ich auch schon mal gemacht irgendwann.

Und was den Guru angeht, den habe ich mir nicht ausgesucht. Kann gerne jemand anders haben. Die Mechnismen dürften Dir bekannt sein. Wenn das trotzdem für Dich noch einen ironischen Hinweis wert ist, nehme ich an, dass Du heute keine besonders gute Laune hast.

Ich verstehe nicht, was das alles soll.
 
Sorry das du dich angegriffen fühlst. Aus der Fragestellung vom User war doch schon ersichtlich das er wahrscheinlich nicht tief in der Materie drin ist. Er hat weder die Structure der Tabelle, Inhalte oder Explains angegeben.

Und Tutorials halte ich für gar nicht schlecht, aber hilft das dem user. Du sagst das quasi FULLTEXT ist nix aber schau dir das TUT an. Es ist doch besser zu schauen was er brauchen könnte um ihm dann gezielt zu helfen und ihm dann die richtigen Stellen zu zeigen.

Das war nur eine Anregung, denn wie man sieht ist er auch nicht wieder aufgetaucht

LG und ein schönes Wochenende

Bernd
 
Werbung:
Ich fühle mich nicht angegriffen.
Wo ist das Problem, ein 5 Minuten Fulltext Index Tutorial durchzulesen oder auszuprobieren? Das war mein Vorschlag. Ich sehe da überhaupt kein Problem, kann er machen, kann er lassen. Und es steht ihm ebenso frei, mit oder ohne tieferem Verständnis davon meine Bewertung zu hinterfragen, sein Problem zu konkretisieren, Verständnisschwierigkeiten aus einem Tutorial zu thematisieren usw..
 
Zurück
Oben