🔹 Abfragen analysieren mit EXPLAIN
EXPLAIN SELECT * FROM bestellungen WHERE kunde_id = 1;👉 Zeigt an, welche Indexe genutzt werden und wie viele Zeilen geprüft werden müssen.
🔹 Kombinierte Indexe
🔹 Kombinierte IndexeCREATE INDEX idx_bestellungen_kunde_datum ON bestellungen(kunde_id, bestelldatum);
🔹 UNIQUE & FULLTEXT Indexe
- UNIQUE → verhindert doppelte Werte (z. B. E-Mail).
- FULLTEXT → für Textsuche in langen Spalten (
MATCH ... AGAINST).
CREATE FULLTEXT INDEX idx_produkte_name ON produkte(name);
🔹 Partitionierung
Sehr große Tabellen lassen sich aufteilen (z. B. nach Datum).Beispiel: Partitionierung einer Log-Tabelle nach Jahren.
CREATE TABLE logdaten (
id INT NOT NULL,
zeit DATETIME NOT NULL,
nachricht TEXT
)
PARTITION BY RANGE (YEAR(zeit)) (
PARTITION p2024 VALUES LESS THAN (2025),
PARTITION p2025 VALUES LESS THAN (2026)
);
🔹 Performance-Monitoring
Aktive Prozesse anzeigen:SHOW PROCESSLIST;Statuswerte prüfen:
SHOW STATUS LIKE 'Threads%';Performance Schema aktivieren:
SELECT * FROM performance_schema.events_statements_summary_by_digest ORDER BY SUM_TIMER_WAIT DESC LIMIT 5;
🔹 Übung
- Lege einen kombinierten Index auf
kunde_idundbestelldatum. - Teste den Unterschied mit
EXPLAIN. - Füge einen FULLTEXT-Index auf die Produkttabelle ein und suche nach „Laptop“.
✅ Zusammenfassung
- Mit EXPLAIN Abfragen analysieren und verbessern.
- Indexe gezielt einsetzen (kombiniert, UNIQUE, FULLTEXT).
- Große Tabellen per Partitionierung handhabbar machen.
- Performance Schema für tiefere Analysen nutzen.
