Eine Zahl zu viel…

Augen auf beim Datenraub! Oder eher gesagt beim Daten aufräumen.

Da hat mich doch tatsächlich eins dieser wunderbaren Missgeschicke ereilt. Tja. Da wurde ich mal wieder bescheidener gemacht. Ein kleiner Tippfehler und ab geht die Post.

Was ist passiert?

Optimierung! Ich habe eine sehr große Tabelle in einer Datenbank. Hat so über eine Millionen Datensätze. Da kann ich nachschauen was meine App so gemacht hat und was zu welchem Zeitpunkt von welchem User passiert ist. Eine LOG-Tabelle, um im Nachhinein Fehler nachvollziehen zu können. Die wächst ziemlich schnell die Tabelle, einfach aus dem Grund das pro Aktion innerhalb einer App viele Einträge / Datensätze eingefügt werden.

#optimize

Um mich im Reich der Optimierungen fortzubewegen, nahm ich es auf mich mal ein paar Indizes für die Tabelle anzulegen (macht Abfragen schneller). Besonders interessiert hat mich der FULLTEXT Index, weil es verspricht schnelle Volltextsuchen durchzuführen. Nach wie vor ein Flaschenhals in der Informatik. Aber ein Index ist in der Hinsicht ein guter Anfang.

brain not braining

Als ich den Index anlegen wollte, hat es schon verdächtig lange gedauert und dann kam auch schon die Fehlermeldung. „Kein Speicherplatz“ mehr… Die Tabelle war zu groß. Zu viele Daten. Und da kommt wieder das Aufräumen ins Spiel. Ich habe Daten gelöscht. Vergangene, die nicht mehr wichtig sind. Das Problem war: Ich habe leider die Datumseingrenzung nicht überprüft. Ich hatte einen kleinen aber feinen Tippfehler in meiner Abfrage. Ich habe gesagt alles löschen was kleiner als 2024-12-30 ist. Tja. Da sollte eine 11 statt 12 stehen. Damit wurde alles gelöscht, auch aus dem bestehenden Monat Dezember. Wegen einer kleinen Zahl. Da sieht man mal, das auch das kleinste Zahnrad seinen Job erfüllt.

>> fast forward

Jetzt sind schon wieder ein paar Daten drin und ich habe mal eine Query ausprobiert.

# Zeige Datensätze 0 - 4 (5 insgesamt, Die Abfrage dauerte **0.0042 Sekunden**.)
SELECT * FROM `tabelle` WHERE `volltext` LIKE '%mega such text%'

Die Schnelligkeit ist krass! Vor allem für eine LIKE %% Abfrage. Die sind in der Regel besonders langsam, da diese den ganzen Text durchgehen müssen. Aber das war fix!

Und jetzt höre ich hiermit auf zu schreiben, weil mich der Gedanke von krampfhafter Produktivität wieder triggert meine andere Arbeit zu machen.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..