Du erfährst, wie du mit einem KI‑Prompt deine gesamte Codebasis automatisch auf gängige Datenbank‑Performance‑Probleme prüfst, von N+1‑Abfragen bis zu fehlenden Indizes, und bekommst priorisierte, leicht umsetzbare Empfehlungen, um Kosten und Latenz zu senken.
Ich hatte viele unentdeckte Ineffizienzen in meinem Code. Redundante Aufrufe, vollständige Tabellenscans, N+1-Schleifen, die stillschweigend bei jedem Seitenladen abgefeuert wurden. Keiner von ihnen brach etwas. Das ist der gefährliche Teil. Alles funktionierte einfach ein bisschen langsamer, als es sollte, und jede Woche war die Datenbankrechnung ein bisschen höher, als sie sein musste.
Das eigentliche Problem ist, dass die meisten dieser Probleme während der Entwicklung unsichtbar sind. Sie schreiben eine Abfrage, sie liefert die richtigen Daten, und Sie gehen weiter. Sie bemerken den fehlenden Index nicht, bis Sie 10.000 Benutzern dienen. Sie bemerken den N+1 nicht, bis Ihre Abfrageanzahl um einen Faktor von 100 zu hoch ist.
Also habe ich einen Prompt erstellt, der die Analyse für Sie durchführt.
Was der Prompt tatsächlich macht
Anstatt jede Abfrage manuell zu überprüfen, fügen Sie Ihren Code in den Prompt ein und lassen Sie das Modell systematisch daran arbeiten. Es sucht nach den häufigsten und teuersten Leistungsproblemen:
N+1-Abfragemuster (ein neuer Datenbankaufruf für jedes Element in einer Schleife)
Fehlende Indizes auf Spalten, auf denen Sie filtern oder verbinden
Vollständige Tabellenscans, die durch unindexierte oder schlecht strukturierte Abfragen verursacht werden
Über-Fetching (Selektieren von `SELECT `, wenn Sie nur zwei Spalten benötigen)
Die ultimative Abkürzung zu einwandfreien KI-Ergebnissen
Verschwende keine Zeit mehr mit Trial-and-Error-Prompts. Erziele konsistente, professionelle KI-Ergebnisse beim ersten Versuch – jedes Mal.
Redundante oder doppelte Abfragen, die dieselben Daten zweimal abrufen
Fehlende Paginierung bei großen Datensätzen
Unoptimierte Verbindungen und Abfragen, die innerhalb von Schleifen ausgeführt werden
Fehlende Verbindungspooling oder Ergebniscaching für wiederholte identische Aufrufe
Für jedes Problem, das es findet, liefert es eine strukturierte Zusammenfassung: was passiert, warum es ein Problem ist, wie man es behebt und wie groß der Aufwand dafür ist. Dann sortiert es alles nach Priorität und Aufwand, höchster Auswirkung und niedrigstem Aufwand zuerst.
Die Zusammenfassung am Ende sagt Ihnen, wie viele Probleme gefunden wurden und die drei wichtigsten Dinge, die Sie sofort beheben sollten.
Ein echtes Beispiel
Hier ist eine Art von Problem, das es erkennt. Nehmen Sie dieses Muster in einer Node.js-Backend:
1const posts =await db.query('SELECT * FROM posts');23for(const post of posts){4const author =await db.query('SELECT * FROM users WHERE id = $1',[post.userId]);5 post.author= author.rows[0];6}
Dies feuert eine Abfrage ab, um alle Beiträge zu erhalten, dann eine weitere Abfrage pro Beitrag, um den Autor zu erhalten. Wenn Sie 200 Beiträge haben, sind das 201 Datenbankrundtrips für das, was eine einzelne Verbindung sein sollte. Der Prompt erkennt dies sofort, markiert es als kritische Priorität, geringen Aufwand zur Behebung und erklärt genau, warum es teuer ist.
Die Korrektur, die es vorschlägt:
1const posts =await db.query(`2 SELECT posts.*, users.name AS author_name, users.email AS author_email
3 FROM posts
4 JOIN users ON users.id = posts.user_id
5`);
Eine Abfrage. Dasselbe Ergebnis. Das ist die Art von Problem, die überall in Codebasen auftaucht, die schnell geschrieben wurden.
Der vollständige Prompt
DB-Leistungsprüfung
Analysiert alle Datenbankinteraktionen auf Leistungsprobleme und erstellt einen priorisierten Bericht, sortiert nach Auswirkung und Aufwand.
Sie sind ein Datenbankleistungsexperte. Analysieren Sie alle Datenbankinteraktionen im bereitgestellten Code auf Leistungsprobleme.
Für jedes Problem, das gefunden wird, erstellen Sie einen detaillierten Bericht mit der folgenden Struktur:
**Problembezeichnung**
- Was passiert
- Warum es ineffizient ist und welche Auswirkung es auf die Leistung hat
- Wie man es behebt
- Geschätzter Aufwand zur Behebung (niedrig / mittel / hoch)
- Priorität (kritisch / hoch / mittel / niedrig)
Suchen Sie nach folgenden Problemen:
- N+1-Abfragen
- Fehlende Indizes auf häufig abgefragten oder gefilterten Spalten
- Vollständige Tabellenscans
- Über-Fetching (Selektieren von mehr Spalten oder Zeilen als benötigt)
- Redundante oder doppelte Abfragen
- Fehlende Paginierung bei großen Datensätzen
- Unoptimierte Verbindungen
- Abfragen innerhalb von Schleifen
- Fehlende Abfrageergebniscaching für wiederholte identische Aufrufe
- Fehlende Verbindungspooling
Sortieren Sie den gesamten Bericht nach Priorität und dann nach Aufwand. Höchste Auswirkung und niedrigster Aufwand zuerst.
Am Ende liefern Sie eine kurze Zusammenfassung mit der Gesamtzahl der gefundenen Probleme, einer groben Schätzung des möglichen Leistungsverbesserungspotenzials und den drei wichtigsten Aktionen, die Sie sofort ausführen sollten.
Warum es funktioniert
Die meisten Leistungsprüfungen sind reaktiv. Sie bemerken, dass etwas langsam ist, profilieren es, beheben es. Dieser Prompt macht den Prozess proaktiv. Sie führen es aus, bevor etwas kaputt geht, erkennen Probleme, während sie noch billig zu beheben sind, und verstehen tatsächlich, warum jedes Problem wichtig ist.
Die Priorisierung nach Aufwand und Auswirkung ist der Teil, den ich in der Praxis am nützlichsten finde. Nicht jedes Leistungsproblem lohnt es sich, sofort zu beheben. Der Prompt sagt Ihnen, welche es sind, und das ist es, was Ihnen tatsächlich Zeit und Geld spart.
Führen Sie es auf Ihrer nächsten PR aus, bevor es in die Produktion geht. Sie könnten überrascht sein, was sich darin befindet.
Zusammenfassung
N+1‑Abfragen in Schleifen identifizieren
Fehlende Indizes auf häufig gefilterten Spalten finden
Vollständige Tabellenscans und Over‑Fetching aufdecken
Redundante Queries und fehlende Pagination erkennen