80 lines
2.2 KiB
SQL
80 lines
2.2 KiB
SQL
-- Minimales Cleanup-Script
|
|
-- Entfernt alle INDEX außer PRIMARY KEY und UNIQUE Keys
|
|
|
|
USE trainingsdiary;
|
|
|
|
-- 1. Status vor Cleanup
|
|
SELECT '=== STATUS VOR CLEANUP ===' as info;
|
|
SELECT
|
|
TABLE_NAME,
|
|
COUNT(*) as key_count
|
|
FROM INFORMATION_SCHEMA.STATISTICS
|
|
WHERE TABLE_SCHEMA = 'trainingsdiary'
|
|
GROUP BY TABLE_NAME
|
|
ORDER BY key_count DESC;
|
|
|
|
SELECT
|
|
COUNT(*) as total_keys_before
|
|
FROM INFORMATION_SCHEMA.STATISTICS
|
|
WHERE TABLE_SCHEMA = 'trainingsdiary';
|
|
|
|
-- 2. Alle nicht-essentiellen INDEX entfernen
|
|
-- Behalte nur PRIMARY KEY und UNIQUE Keys
|
|
|
|
-- Alle INDEX außer PRIMARY und UNIQUE entfernen
|
|
-- Verwende SHOW INDEX um die echten INDEX-Namen zu sehen
|
|
|
|
SELECT '=== ENTFERNE ÜBERFLÜSSIGE INDEX ===' as info;
|
|
|
|
-- Member-Tabelle: Alle INDEX außer PRIMARY entfernen
|
|
SELECT '=== MEMBER TABELLE ===' as info;
|
|
SHOW INDEX FROM member;
|
|
|
|
-- User-Tabelle: Alle INDEX außer PRIMARY entfernen
|
|
SELECT '=== USER TABELLE ===' as info;
|
|
SHOW INDEX FROM user;
|
|
|
|
-- Clubs-Tabelle: Alle INDEX außer PRIMARY entfernen
|
|
SELECT '=== CLUBS TABELLE ===' as info;
|
|
SHOW INDEX FROM clubs;
|
|
|
|
-- User_Club-Tabelle: Alle INDEX außer PRIMARY entfernen
|
|
SELECT '=== USER_CLUB TABELLE ===' as info;
|
|
SHOW INDEX FROM user_club;
|
|
|
|
-- Log-Tabelle: Alle INDEX außer PRIMARY entfernen
|
|
SELECT '=== LOG TABELLE ===' as info;
|
|
SHOW INDEX FROM log;
|
|
|
|
-- Diary_Dates-Tabelle: Alle INDEX außer PRIMARY entfernen
|
|
SELECT '=== DIARY_DATES TABELLE ===' as info;
|
|
SHOW INDEX FROM diary_dates;
|
|
|
|
-- Participants-Tabelle: Alle INDEX außer PRIMARY entfernen
|
|
SELECT '=== PARTICIPANTS TABELLE ===' as info;
|
|
SHOW INDEX FROM participants;
|
|
|
|
-- Activities-Tabelle: Alle INDEX außer PRIMARY entfernen
|
|
SELECT '=== ACTIVITIES TABELLE ===' as info;
|
|
SHOW INDEX FROM activities;
|
|
|
|
-- 3. Status nach Cleanup
|
|
SELECT '=== STATUS NACH CLEANUP ===' as info;
|
|
SELECT
|
|
TABLE_NAME,
|
|
COUNT(*) as key_count
|
|
FROM INFORMATION_SCHEMA.STATISTICS
|
|
WHERE TABLE_SCHEMA = 'trainingsdiary'
|
|
GROUP BY TABLE_NAME
|
|
ORDER BY key_count DESC;
|
|
|
|
SELECT
|
|
COUNT(*) as total_keys_after
|
|
FROM INFORMATION_SCHEMA.STATISTICS
|
|
WHERE TABLE_SCHEMA = 'trainingsdiary';
|
|
|
|
-- 4. Zusammenfassung
|
|
SELECT '=== ZUSAMMENFASSUNG ===' as info;
|
|
SELECT
|
|
'Minimales Cleanup abgeschlossen. Überprüfen Sie die Anzahl der Keys oben.' as message;
|