database-optimizer
Datenbankleistung optimieren
Langsame Abfragen und schlechte Datenbankleistung können die Anwendungsfähigkeit lahmlegen. Diese Skill bietet fachkundige Anleitung zur Abfrageoptimierung, Indexierungsstrategien und skalierbaren Architekturen, um die Datenbankleistung drastisch zu verbessern.
Die Skill-ZIP herunterladen
In Claude hochladen
Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen
Einschalten und loslegen
Teste es
Verwendung von "database-optimizer". Optimiere diese langsame Abfrage: SELECT * FROM orders o JOIN customers c ON o.customer_id = c.id WHERE c.status = 'active' AND o.created_at > '2024-01-01'
Erwartetes Ergebnis:
Analyse:
1. **Problem**: SELECT * ruft unnötige Spalten ab; kein Index auf created_at; Status-Filter ist möglicherweise nicht selektiv genug
Empfehlungen:
- Covering-Index hinzufügen: CREATE INDEX idx_orders_customer_date ON orders(customer_id, created_at) INCLUDE (status, total)
- SELECT * durch spezifische Spalten ersetzen
- Bei großen Tabellen Partitionierung nach Datum in Betracht ziehen
- Index auf customers.status hinzufügen, wenn häufig gefiltert wird
Verwendung von "database-optimizer". Wie implementiere ich Caching für eine häufig abgerufene Datenbankabfrage?
Erwartetes Ergebnis:
Mehrstufiger Caching-Ansatz:
1. **L1 (Anwendung)**: In-Memory-Cache (z.B. Go map, Python functools.lru_cache) für stark frequentierte Daten
2. **L2 (Verteilt)**: Redis mit TTL-basierter Ablaufsteuerung
3. **Cache-Strategie**: Cache-aside Muster verwenden - zuerst Cache prüfen, bei Miss aus DB laden, im Cache speichern
4. **Invalidierung**: Angemessene TTL festlegen (z.B. 5-15 Minuten) oder ereignisgesteuerte Invalidierung verwenden
5. **Schlüssel-Design**: Composite-Keys wie 'user:123:orders' für spezifische Cache-Einträge verwenden
Sicherheitsaudit
SicherPrompt-only skill with no executable code. Static analysis scanned 0 files (0 lines) and detected no suspicious patterns. This is a pure instructional prompt providing database optimization guidance. No scripts, network calls, filesystem access, environment access, or external commands are present. No prompt injection attempts detected.
Qualitätsbewertung
Was du bauen kannst
Anwendungsentwickler behebt langsame Abfragen
Entwickler bemerkt, dass seine Anwendung aufgrund von Datenbankabfragen langsame Seitenladezeiten hat. Die Skill bietet schrittweise Analyse von Abfragemustern und Optimierungsempfehlungen.
DBA entwirft Indexierungsstrategie
Datenbankadministrator muss eine Indexierungsstrategie für eine stark frequentierte E-Commerce-Anwendung entwerfen. Die Skill bietet umfassende Anleitung zu Indextypen und Spaltenreihenfolgen.
Architekt plant Datenbank-Skalierung
Software-Architekt plant, eine monolithische Anwendung zu skalieren, um erhöhte Last zu bewältigen. Die Skill bietet Anleitung zu Partitionierungs-, Sharding- und Caching-Strategien.
Probiere diese Prompts
Helfen Sie mir, diese langsame SQL-Abfrage zu optimieren: [ABFRAGE EINFÜGEN]. Analysieren Sie die Abfragestruktur und schlagen Sie Verbesserungen für bessere Leistung vor.
Entwerfen Sie eine Indexierungsstrategie für unsere [DATENBANKTYP]-Datenbank, die [BESCHREIBEN SIE IHRE ARBEITSLAST - z.B. viele Lesevorgänge, häufige Updates] bewältigt. Unsere wichtigsten Abfragemuster umfassen [LISTE DER ABFRAGEMUSTER].
Wir erleben N+1 Abfrageprobleme in unserer [ORM-NAME]-Anwendung beim Laden von [ENTITÄTEN BESCHREIBEN]. Der aktuelle Code macht [AKTUELLES MUSTER BESCHREIBEN]. Wie können wir dies optimieren?
Unsere Datenbank erlebt [PROBLEM BESCHREIBEN - z.B. hohes Schreibvolumen, langsame Abfragen unter Last]. Aktuelle Einrichtung: [AKTUELLE ARCHITEKTUR BESCHREIBEN]. Welche Skalierungs- und Optimierungsstrategien würden Sie empfehlen?
Bewährte Verfahren
- Immer vor der Optimierung messen - EXPLAIN ANALYZE verwenden, um die tatsächliche Abfrageleistung zu verstehen, anstatt zu raten
- Indizes basierend auf tatsächlichen Abfragemustern entwerfen, nicht auf theoretischem Wissen - die häufigsten Abfragen Ihrer Anwendung profilieren
- Umfassendes Monitoring mit Slow-Query-Logs und Leistungs-Baselines implementieren, um Regressionen frühzeitig zu erkennen
Vermeiden
- Jede Spalte 'für alle Fälle' indexieren - dies erhöht den Schreib-Overhead und Speicherbedarf ohne proportionalen Nutzen
- N+1 Abfragen in ORMs ignorieren - immer Eager Loading, Batch-Abfragen oder DataLoader-Muster verwenden
- Allgemeine Optimierungsratschläge anwenden, ohne die spezifischen Arbeitslastmuster und Datenverteilungen zu analysieren
Häufig gestellte Fragen
Welche Datenbanken werden von dieser Skill unterstützt?
Kann diese Skill Datenbankbefehle für mich ausführen?
Wie weiß ich, welche Indizes ich erstellen soll?
Was ist die beste Caching-Strategie für meine Anwendung?
Wie bewältige ich Datenbank-Skalierung bei hohem Traffic?
Funktioniert diese Skill mit Claude Code und Codex?
Entwicklerdetails
Autor
sickn33Lizenz
MIT
Repository
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/database-optimizerRef
main
Dateistruktur
📄 SKILL.md