MySQL Unbenutzte Tabellen/Spalten herausfinden

rik0

Mitglied
Hallo,

es geht um eine MySQL-Datenbank, die von mehreren Java-Programmen benutzt wird.
Ich möchte herausfinden, welche Spalten nicht benutzt werden. Gibt es dafür vielleicht eine datenbankseitige Funktion, mit der man die Anzahl der Zugriffe pro Spalte herausfinden kann?
Die einzige Möglichkeit, die mir bisher eingefallen ist: Query-log in mysql aktivieren, in allen Programmen alle Funktionen ausführen sodass alle Querys im logfile landen, und dann im Logfile die Querys manuell durchgehen und die Spalten abhaken, die benutzt werden. (Wäre aber zeitaufwendig, weil es viele verschiedene Querys gibt)

Gruß
 

XHelp

Top Contributor
Naja, den Log kannst du ja auch maschinell auswerten.
Ich bezweifle, dass es sowas gibt. Außerdem was heißt denn "benutz werden"? Wie wertest du ein "SELECT *", wenn ich anschließend nur eine Spalte nehme?
 

rik0

Mitglied
Naja ich möchte halt die Spalten löschen, bei denen es keinen Unterschied macht, ob sie nun da sind oder nicht, weil sie eben nicht benutzt werden.

In deinem Beispiel würde ich also nur die Spalten als 'benutzt' ansehen, die dann auch ins Ergebnis übernommen werden.
Eine maschinelle Auswertung des Logs wäre also gar nicht so einfach, weil Spalten ja durchaus z.B. für joins wichtig sein können obwohl sie gar nicht im Ergebnis erscheinen.
 

XHelp

Top Contributor
Ja, aber ob du die Spalten beim Select mitnimmst, oder ob die die brauchst sind völlig verschiedene Sachen. (Siehe SELECT *)
Außerdem müsstest du jede Aktion von jedem Programm ggf in jeder Kombination von Parametern ausführen um sicher zu gehen, dass du auch alle Befehle geloggt hast.
Hast du den Quelltext von den Programmen? Dann guck dir lieber an was da gemacht wird.
 

rik0

Mitglied
Ja den Quelltext könnte ich mir besorgen - dann werde ich es so machen.

Dachte nur, dass es vielleicht etwas von mysql gibt um 'Datenleichen' aufzuspüren...

Danke & Gruß
 

Sekundentakt

Bekanntes Mitglied
Hi,

ich finde die Fragestellung etwas merkwürdig.
Eigentlich sollten alle Spalten in einer Datenbank benötigt werden, ansonsten lief doch schon beim Entwickeln des Schemas etwas schief!
Irgendwie kamen die Daten doch auch in die Tabellen - wenn Du jetzt einfach eine Spalte herausnimmst, werden Dir Exceptions bei den Programmen um die Ohren fliegen, die ursprünglich diese Spalten befüllt haben.

Was ist denn das eigentliche Problem? Also wieso willst Du bestimmte Spalten entfernen?
 

rik0

Mitglied
Hi,

nunja - zuerst wurde die Datenbank entwickelt. Damals war noch nicht klar, welche Daten nun alles benötigt werden würden. Danach wurden darauf aufbauend die Programme entwickelt. Seitdem sind durchaus schon Spalten/Tabellen entfernt worden, weil sie einfach nicht benötigt werden.

Die Daten wurden manuell in die Tabellen eingetragen und müssen (leider) auch manuell gepflegt werden. Dies ist natürlich sehr zeitaufwendig und fehleranfällig. Es soll in Zukunft auch automatisiert werden aber das dauert noch.

Um nun die manuelle Datenpflege zu erleichtern, sollen unbenutzte Spalten und Tabellen entfernt werden.
 

Sekundentakt

Bekanntes Mitglied
Okay. Nungut, es bringt wohl nichts über die Situation zu diskutieren. Es ist wie es ist.

Ich habe da eigentlich nur eine Idee: Leg einen leeren Datensatz an und schaue Dir an, welche Fehler entstehen. Vielleicht wirst Du darauß ja schlau.

Mir fiel gerade eine Alternative ein:
Du solltest dafür aber unbedingt ein Backup anfertigen bzw. das nur in einer Testumgebung ausprobieren:
Dem Datenbank-User, der die Daten abruft, könnte man ja die Lese-Rechte für bestimmte Spalten entziehen. Ich bin mir aber nicht sicher, ob man Rechte pro Spalte vergeben kann.
So würden definitiv Exceptions fallen.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
OnDemand Daten auf mehrere Tabellen aufteilen oder Spalten nutzen Datenbankprogrammierung 2
Ataria SQLite Werte aus zwei Tabellen zusammenführen Datenbankprogrammierung 8
I H2 - GUI Tool.... sehe aber keine Tabellen Datenbankprogrammierung 2
Zrebna Tabellen-Erzeugung via Hibernate ignoriert 'CascadeType' settings Datenbankprogrammierung 1
H JDBC Tabellen ausgeben Datenbankprogrammierung 8
Kirby.exe Tabellen Zeilen combinen und splitten Datenbankprogrammierung 3
N Hibernate Entitäten bei Selects aus 2 Tabellen Datenbankprogrammierung 7
M Sql Tabellen erstellen Datenbankprogrammierung 3
F Tabellen automatisch erstellen wenn sie nicht existieren Datenbankprogrammierung 6
C Mapping mit Annotations von 2 Tabellen Datenbankprogrammierung 22
W Problem mit Insert in zwei Tabellen Datenbankprogrammierung 8
L Join zweier Tabellen in SQL Datenbankprogrammierung 2
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
I Oracle Wie ermitteln, welche Benutzer-(!)Tabellen in einer DB sind? Datenbankprogrammierung 1
H Brauche Hilfe beim Mappen von 3 Tabellen a 1:n mit hbm.xml. Datenbankprogrammierung 34
D JPQL- Query über mehrere Tabellen Datenbankprogrammierung 7
feinperligekohlensaeure MySQL Dynamische Tabellen. Wie kann man es besser machen? Datenbankprogrammierung 3
O HSQLDB Eine Entität, mehrere Tabellen Datenbankprogrammierung 8
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
D Count(*) auf 2 Tabellen anwenden Datenbankprogrammierung 7
D MySQL Many to Many Tabellen in Java abbilden? Datenbankprogrammierung 4
V SQLite 2 Tabellen vergleichen und nur Unterschiedliche Sätze rausgeben. Datenbankprogrammierung 31
F Tabellen verbinden Datenbankprogrammierung 13
L0MiN Wie kann ich eine bestimmte Seite aus verschiedenen Excel-Tabellen in eine neue Exceldatei kopieren? Datenbankprogrammierung 1
U Kann die Tabellen nicht finden Datenbankprogrammierung 0
D umschalten zwischen verschiedene Tabellen Datenbankprogrammierung 1
U SQLite Für mich etwa komplexe Abfrage via 2 Tabellen Datenbankprogrammierung 5
E Kann man, wenn man in DB2 Tabellen erstellt hat für dessen auch einen Command-File erstellen? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
T Tabellen von nicht mehr vorhandenen Entities werden generiert Datenbankprogrammierung 0
J MySQL Workbench Tabellen werden verschoben Datenbankprogrammierung 1
M MySQL Tabellen dynamisch erstellen Datenbankprogrammierung 12
T Ähnliche Wrapperklassen + DB-Tabellen Datenbankprogrammierung 1
K HSQLDB Einzelne Tabellen abfragen? Datenbankprogrammierung 4
T Tabellen Alias Datenbankprogrammierung 7
M MySQL Insert über mehrere Tabellen Datenbankprogrammierung 7
J Tabellen in Tabellen finden Datenbankprogrammierung 4
S versionierte Tabellen Datenbankprogrammierung 2
K n:m Tabellen mit Hibernate erstellen Datenbankprogrammierung 1
I Was ist besser: Tabellen oder Spalten Datenbankprogrammierung 1
S MySQL Abfrage über mehrere Tabellen + Einträge werden überschrieben Datenbankprogrammierung 1
M Vergleich von Daten in verschiedenen Tabellen Datenbankprogrammierung 1
C SQL-Statement SELECT über 3 Tabellen Datenbankprogrammierung 5
G 2 Tabellen und ein spezieller Eintrag Datenbankprogrammierung 2
T Fehler beim ausgeben von Tabellen Inhalt Datenbankprogrammierung 9
T 2 Tabellen aus 2 Datenbanken miteinander vergleichen Datenbankprogrammierung 6
I MySQL Vergleich über mehrere Tabellen! Join? Datenbankprogrammierung 6
R PostgreSQL Tabellen hinzufügen, falls nicht vorhanden Datenbankprogrammierung 3
E Tabellen nacheinander auslesen Datenbankprogrammierung 10
D Übersichtliche Zuweisung von Daten in Tabellen Datenbankprogrammierung 17
S 2 Tabellen zu einer zusammenführen, INSERT INTO Fehler Datenbankprogrammierung 5
A Zugriff auf DB-Tabellen mit Objekten Datenbankprogrammierung 3
K SQL tabellen auswahl in jfreechart Datenbankprogrammierung 2
0 Alle Tabellen aus DB lesen Datenbankprogrammierung 2
F Komplexer Tabellen-Join und Ausgabe in Excel Datenbankprogrammierung 17
I Master/Detail Tabellen mit JDBC und Swing Datenbankprogrammierung 10
H Fortlaufende Nummerierung innerhalb mehrerer Tabellen Datenbankprogrammierung 4
G JOIN Abfrage über mehrere Tabellen Datenbankprogrammierung 15
Consuelo Verbinden von zwei Tabellen, foreign key Datenbankprogrammierung 4
O MySQL sql Datei einzelner Tabellen erzeugen (über Java Programm) Datenbankprogrammierung 6
T Kleine Tabellen für schnellere abfragen? Datenbankprogrammierung 3
G SQL Abfrage über mehrere Tabellen Datenbankprogrammierung 28
H SQL Abfrage - zwei tabellen vergleichen. Datenbankprogrammierung 2
I mit Java SQL Attribute / Tabellen erstellen Datenbankprogrammierung 17
C SQL String zwei Tabellen vergleichen und gleiche Zeile löschen Datenbankprogrammierung 25
R hibernate Frage zu configFile-Pfad und Groß/Kleinschreibung von Postgres-Tabellen Datenbankprogrammierung 8
J Mit einer Abfrage Worte suchen die in Zwei Tabellen enthalten sind Datenbankprogrammierung 5
F Einzelne Sql- Tabellen sichern (lokal) Datenbankprogrammierung 2
I MySQL - Anzahl Tabellen heraus finden Datenbankprogrammierung 6
B Es werden keine Tupel in Tabellen abgelegt Datenbankprogrammierung 2
S SQL inner join bei >10 Tabellen über 2 Variablen Datenbankprogrammierung 2
S HSQLDB Kopiere Tabellen Datenbankprogrammierung 2
Guybrush Threepwood Nachträgliches Ändern von Variableneigenschaften in (gefüllten) Tabellen Datenbankprogrammierung 3
J Tabellen auflisten, die in einer Datenbank enthalten sind Datenbankprogrammierung 16
T DB2 delete/update über 2 Tabellen Datenbankprogrammierung 2
T SQL Abfrage: Zeige alle Values von bestimmten Tabellen Datenbankprogrammierung 11
R Datenbanken, Tabellen normalisieren. Datenbankprogrammierung 1
A Datenbankzugriffe, mehr Tabellen Datenbankprogrammierung 12
oliver1974 JPA, JTable und 2 DB-Tabellen... Datenbankprogrammierung 2
J Starre Datenbankstruktur oder Tabellen bei Bedarf neu erzeugen? Datenbankprogrammierung 5
X Abfrage über 2 Tabellen mit Tücken Datenbankprogrammierung 3
G verbindung 2er Tabellen Datenbankprogrammierung 3
M Auswerten über drei Tabellen Datenbankprogrammierung 2
H Inserts in 2 Tabellen 1:n Datenbankprogrammierung 6
G Mehrere Tabellen abfragen Datenbankprogrammierung 7
M JavaDB/Derby: Tabellen erstellen Datenbankprogrammierung 8
G 2 Tabellen in einer 1:n Verbindung Datenbankprogrammierung 2
M insert in 2 tabellen Datenbankprogrammierung 7
MQue Metadaten für Tabellen in der Datenbank Datenbankprogrammierung 5
D aus mehreren sql tabellen matchen und sortieren Datenbankprogrammierung 6
G 2 Tabellen zusammenfügen wie? Datenbankprogrammierung 8
G Tabellen-Dokument als Datenbank Datenbankprogrammierung 2
S MySQL: Abfrage auf 2 Tabellen durch join Datenbankprogrammierung 5
Y Hibernate - Mapping der Beziehung zwischen 2 Tabellen Datenbankprogrammierung 2
ARadauer tabellen kommentar ausgeben Datenbankprogrammierung 2
S Mysql abfrage über 2 tabellen. Datenbankprogrammierung 10
Y Hibernate - Werte aus 2 Tabellen laden Datenbankprogrammierung 29
S Postgres und die Ursprungstabelle bei vererbten Tabellen Datenbankprogrammierung 4
M Mehrere Tabellen zusammenführen Datenbankprogrammierung 4
A Index bzw. Indizes von Tabellen herausfinden Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben