MySQl: Unbenutzte Tabellen finden

maceis

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
Hallo zusammen,

ich habe einen MySQl Server, der seit Jahren immer wieder um neue Datenbanken und Tabellen erweitert wird.
Zwischenzeitlich gibt es auch eine reihe von Tabellen, die nicht mehr benutzt werden.

Bevor ich eine Tabelle lösche, möchte ich aber checken, ob diese in der letzten Zeit doch einmal abgefragt wurde.
Das sollte doch über die Konfiguration und Auswertung von Loggings machbar sein.

Ich habe aber keine entsprechenden Logdateien gefunden.

Wer kann mir einen Tipp in die richtige Richtung geben?

Danke und Gruß
maceis
 
Danke, aber ich stelle mir das eher so vor, dass ich ein paar Webseiten aufrufe, welche die Tabellen benutzen.
Anschließend hätte ich geschaut, ob eine Tabelle, die ich löschen möchte, abgefragt wurde.
Ist dies nicht der Fall, könnte ich sicher sein, dass diese Tabelle von den entsprechenden Seiten nicht benutzt wird und ich könnte die beruhigt löschen.

Es muss doch möglich sein, dass der mysql Server die eingehenden Abfragen logt, oder nicht?

Gruß
maceis

PS: geht auch.
Gerade habe ich das hier gefunden ;)
http://dev.mysql.com/doc/refman/5.1/de/query-log.html
 
Zuletzt bearbeitet:
Und wie stellst du sicher, dass du alle Funktionen der Seiten genutzt hast? Nicht, dass da doch noch weitere Tabellen verwendet werden...

Mir stehen hier grad alle Haare zu Berge, eine wirkliche Lösung für dein Problem weiß ich aber auch nicht :(.
 
Kannst Dich wieder kämmen ;).
Die Seiten sind nicht sooo komplex.
Ich weiß genau welche Seiten ich aufrufen muss, damit die benötigten Datenbanktabellen abgefragt werden.

Wären die Seiten komplexer würde ich vielleicht sowas wie Deep Vacuum nutzen.

Gruß
maceis
 
Darum die Einschränkung mit "vielleicht".
Bei Seiten, die ich selbst geschrieben habe, bringt mir das exakt dann etwas, wenn ich so ein "Gedöns" nicht verwendet habe ;)

Gruß
maceis
 
Einfach mal in die Doku zu schauen ist wohl zu viel verlangt.
hier der link:http://dev.mysql.com/doc/refman/5.0/en/server-logs.html
Wie bist Du denn drauf?
Schon gelesen?

abgesehen davon: einfach mal in die SQL-Scripte schauen dürfte die sicherste Lösung sein...
Die Skripte sind im Lauf der Jahre auch relativ mehrfach geändert und erweitert worden - oft unter Zeitdruck.
Die Suche nach nicht mehr verwendeten Tabellen sollte mir auch das verjüngen der Skripte erleichtern.

Gruß
D.Mon
 
Sorry, aber wer Server betreibt sollte auch die Doku lesen können.
googlen nach "MySQL Logfiles" sollte da keine große Hürde sein.
Dein edit kam nachdem ich angefangen hatte zu tippen(das Fenster war länger offen und ich immer wieder abgelenkt)


Die Skripte sind im Lauf der Jahre auch relativ mehrfach geändert und erweitert worden - oft unter Zeitdruck.
Die Suche nach nicht mehr verwendeten Tabellen sollte mir auch das verjüngen der Skripte erleichtern.
Trotzdem ist der einzig sichere weg in die Sripte zu schauen da du sonst sicherstellen müsst wirklich alle Fälle bei deinen Test abzudecken. Nicht das es Sripte gibt die einmal im Jahr laufen o.ä. Und die du beim testen übersiehst. Ichmensch ja deine Skripte nicht, aber es sollte doch nicht Komplizin sein sich da die verwendeten Tabellen herauszusuchen.
 
Gut, belassen wir es dabei.
 
Gut, belassen wir es dabei.
Wenns nicht zu viel ist könntest du die Skripte hier posten.
Ich denke dann sollten wir herausfinden welche Tabellen du benötigst und welche nicht.
 
Danke für das Angebot, aber ich denke das wäre wirklich zu viel.

Es sind eine ganze Reihe von Perl-Skripten, die wiederum einige selbst geschriebene Perl Module aufrufen, insgesamt mehrere tausend Zeilen Code.
Da sind mit Sicherheit auch einige subs drin, welche gar nicht mehr aufgerufen werden und aus denen heraus früher mal Tabellen abgefragt wurden.

Wie dam auch sei, das Problem ist auf der mysql Seite ja zwischenzeitlich auf die oben beschriebene Weise gelöst.
Die Skripte muss ich mal systematisch durchforsten um auch hier ungenutzte Altlasten los zu werden.
Das wird aber was größeres.

Gruß
maceis
 
Zurück
Oben Unten