Eingefroren und wie Verworfen

TL; DR. Wenn du mit neuen Umgebungen und Sprachen arbeitest, vergiss nicht zu speichern und Zwischenergebnisse zu erzeugen!

Eigentlich wollte ich einen anderen Text schreiben. Einen Text darüber, wo sich Gott auf dieser Erde geographisch und kulturell niederlassen würde, aber mir ist was dazwischen gekommen, das deutlich weniger mit einer Glaubensfrage zu tun hat und mehr in die Richtung der Erfahrungswerte geht. Je nachdem wie lange du eine Profession schon aktiv betreibst, legt sich ein gewisser Automatismus ab. Beim Programmieren gehört der regelmäßig Tastendruck auf Strg und S dazu, um deine Datei zu speichern. Diese Tastenkombination liegt mir bei den gängigen Editoren, in denen ich den Code bearbeite, bereits so sehr im mechanischen Prozess, dass ich mich nicht einmal daran erinnern kann, wann mir das letzte mal der Speicher-Dialog erschienen ist und ich dadurch daran erinnert wurde, dass ich nicht gespeichert habe. Diesen Automatismus würde ich sogar als neurotisches Verhalten bezeichnen, denn manchmal speicherst du das Dokument erneut, obwohl du nichts daran geändert hast und dieser Schritt daher ohne wirklichen Zweck ausgeführt wird. Sicher ist sicher. Diese permanent aktions- und zeitgetriebene Handlung wurde bei mir das erste mal wirklich bedeutsam, nachdem ich mehrere Stunden am Code gearbeitet habe, mein Windows Vista sich dazu entschieden hatte, einen Bluescreen zu werfen und die gesamte Arbeit verloren ging. An dieser Stelle kannst du nichts schön reden, denn die Schuld liegt ganz klar bei dem Autor, der sein Erzeugnis nicht gespeichert hat. Kommen wir also zum Schlupfloch im Automatismus.

Durch gewisse Gegebenheiten schreibe ich zur Zeit viele SQL Abfragen, die die volle Gunst relationaler Datenbanken nutzen. Die Tabellen sind gigantisch und so ist eine geschulte Schreibweise von Nöten. Da ich in keinem meiner Lebensbereiche jemals die Anforderung an bis zum Ende optimierte Abfragen hatte und die meisten Relationen sich auf Zehntausende beliefen und nicht auf mehrere Millionen , war es bisher nicht so dramatisch, wenn eine Abfrage nicht optimiert wurde. Das war jetzt anders und so floss relativ viel kognitive Kapazität in die Optimierung meiner Abfragen. Die benötigten Schritte für die gewünschten Analyseergebnisse waren klar. Jeder Schritt benötigt wiederum ein Dutzend Handgriffe, um in einer annehmbaren Zeit das gewünschte Ergebnis zu liefern. Die Größenordnung von der wir hier Sprechen lässt sich ganz gut mit dem Faktor 1800x quantifizieren. So wurden aus fünf Stunden Laufzeit plötzlich zehn Sekunden und das ausschließlich durch das Hinzufügen und Wegnehmen einer Zeile, um PostgreSQL die Arbeit besser optimieren zu können. Das ganze Herumprobieren und Überblick behalten hat bei mir wohl dazu geführt, dass mein Speicherautomatismus ausgesetzt hat. Das musst ich leider auf die harte Tour feststellen.

Nach zirka drei Stunden Optimierung hat sich der Java Treiber für die Datenbank dazu entschlossen sehr viele Daten in meinen Arbeitsspeicher zu laden, sodass die Oberfläche worin sich meine GUI befand, verabschiedet hat und meine ungespeicherten Skripte mit sich in den Abgrund riss. Vermutlich gefiel ihm meine Fahrlässigkeit nicht. Jedenfalls ist das Programm abgestürzt und meine Sorgen waren kaum vorhanden, denn schließlich speichere ich regelmäßig alle Dokumente, denn ich weiß es schließlich besser. Als ich dann mit bedauern feststellen musste, dass meine Annahme dieses Mal nicht korrekt war, habe ich einen kurzen gedanklichen Exkurs gestartet, bin an Verzweiflung und Frustration vorbeigelaufen und konnte mit Sicherheit sagen, dass ich länger nicht mehr gespeichert habe. Zu meinem Vorteil habe ich dich Analyseschritte jedoch so kleinteilig aufgespalten, dass alle Ergebnistabellen der Zwischenschritte vorhanden sind und ich lediglich die Abfragen für das finale Ergebnis erneut schreiben muss. Die vorhandenen Zwischenergebnisse erlauben mir zwar so zu tun, als wäre nichts gewesen, aber tief in meinem Inneren wird es von nun an auch beim Experimentieren in DBeaver zu einem Aufstand kommen, wenn das Dokument nicht andauernd gespeichert wird.

Kleiner Nachtrag: Es stellte sich heraus, dass mein Automatismus wohl ganz regulär funktioniert hat und nach jeder Einheit Strg + S gedrückt wurde. Jedoch war mein Prozess beim Lösen meiner Probleme

  1. Konzipieren
  2. Schreiben
  3. Optimieren
  4. Testen
  5. Ausführen
  6. Speichern

Das Skript im Editor kann nicht gespeichert werden, während eine Abfrage aus eben jenem Skript ausgeführt wird. Es erscheint keinerlei Warnung oder Fehlermeldung, das Skript wird lediglich nicht gespeichert. Da sehe ich Luft nach oben.

Sind dir mehrere Stunden Arbeit verloren gegangen, weil du vergessen hast zu speichern? Schreib mir deine Geschichte in die Kommentare!

Lied des Tages

Lieblingsstelle

Du bist doch hier oben

Kochkraft durch KMA – Du bist doch hier oben

Kommentar verfassen

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