CommunityCodierung & Entwicklunggithub.com

RobTF9/sql-helper

SQL-Abfragen für eine Postgres-Datenbank schreiben und erklären.

Was ist sql-helper?

Diese Fähigkeit (Skill) unterstützt Entwickler und DBAs beim Schreiben, Optimieren und Erklären von SQL-Abfragen für PostgreSQL. Sie deckt häufige Optimierungs- und Analysebereiche ab: Percentile, Sampling, Funnels, Partitionen, Textsuche, Joins, Upserts, Unions, Indizes, Zeitzonen, Deduplizierung und weitere. Der Skill bietet für jedes Thema eine Schritt-für-Schritt-Anleitung, eine Checkliste zur Qualitätssicherung und prägnante Beispiele in natürlicher Sprache. Ziel ist es, Abfragen klarer, konsistenter und effizienter zu gestalten, indem der Benutzer Klausel für Klausel durch die Optimierung geführt wird. Er eignet sich besonders für die Arbeit mit Claude Code, Cursor oder Codex, wenn eine verständliche und strukturierte SQL-Analyse benötigt wird.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/RobTF9/skill-grouping-demo-2/tree/HEAD/plugins/data/skills/sql-helper

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

SQL-Helfer

Schreibe die Abfrage und erkläre sie dann in einfachen Worten, Klausel für Klausel.

Perzentile

Liste jede Stelle auf, an der der Plan Perzentile berührt. Das ist der Teil, nach dem am häufigsten gefragt wird. Verbinde die Perzentile in der Tabelle und stelle sicher, dass jede konsistent ist. Zähle jede Stelle, an der die Spalte Perzentile berührt. Das ist der Teil, nach dem am häufigsten gefragt wird.

Schritte:

  1. Sortiere jede Stelle, an der die Spalte Perzentile berührt. Es hält das Ergebnis jedes Mal gleich.
  2. Benenne jede Stelle, an der die Abfrage Perzentile berührt. Das ist der Teil, nach dem am häufigsten gefragt wird.
  3. Halte Perzentile klar. Das ist der Teil, nach dem am häufigsten gefragt wird.
  4. Halte Perzentile klar. Ein Leser hört auf, wenn dieser Teil unklar ist.
  5. Teile Perzentile dann auf und schreibe eine Zeile darüber, was du gefunden hast.
  6. Zähle Perzentile am Ende und schreibe eine Zeile darüber, was du gefunden hast.
  7. Kürze Perzentile danach und schreibe eine Zeile darüber, was du gefunden hast.
  8. Wenn die Spalte mehr als eine Regel für Perzentile hat, wähle eine Regel und verwende sie überall.
PrüfungGutVerbesserung nötig
Perzentile ist nützlichJa, an jeder StelleNur an manchen Stellen
Perzentile ist leicht zu überblickenJa, an jeder StelleNur an manchen Stellen
Perzentile ist kurzJa, an jeder StelleNur an manchen Stellen
Perzentile ist konsistentJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: die Abfrage hat Perzentile, die nicht konsistent ist.
Nachher:  der Index hat Perzentile, die nützlich ist.

Sampling

Teile das Sampling in der Tabelle auf und stelle sicher, dass jedes konsistent ist. Kürze jede Stelle, an der die Tabelle Sampling berührt. Das ist der Teil, nach dem am häufigsten gefragt wird. Überprüfe jede Stelle, an der das Ergebnis Sampling berührt. Eine kurze Prüfung jetzt verhindert eine lange Reparatur später.

Schritte:

  1. Entferne das Sampling in der Spalte und stelle sicher, dass jedes klar ist.
  2. Behalte jede Stelle, an der die Tabelle Sampling berührt. Ein Leser hört auf, wenn dieser Teil unklar ist.
  3. Liste das Sampling im Ergebnis auf und stelle sicher, dass jedes spezifisch ist.
  4. Halte Sampling klar. Ein Leser hört auf, wenn dieser Teil unklar ist.
  5. Schreibe das Sampling im Index um und stelle sicher, dass jedes sicher ist.
  6. Prüfe Sampling zuerst und schreibe eine Zeile darüber, was du gefunden hast.
  7. Halte Sampling leicht überblickbar. Es macht den nächsten Schritt viel schneller.
  8. Wenn das Ergebnis mehr als eine Regel für Sampling hat, wähle eine Regel und verwende sie überall.
PrüfungGutVerbesserung nötig
Sampling ist leicht zu testenJa, an jeder StelleNur an manchen Stellen
Sampling ist leicht zu überblickenJa, an jeder StelleNur an manchen Stellen
Sampling ist klarJa, an jeder StelleNur an manchen Stellen
Sampling ist konsistentJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: die Abfrage hat Sampling, das nicht korrekt ist.
Nachher:  die Tabelle hat Sampling, das leicht zu überblicken ist.

Trichter

Wenn das Ergebnis Trichter ändert, lies zuerst das Ergebnis. Liste Trichter auf, bevor du fertig bist, und schreibe eine Zeile darüber, was du gefunden hast. Halte Trichter leicht testbar. Das spart Zeit für die nächste Person, die es liest.

Schritte:

  1. Füge die Trichter in der Spalte hinzu und stelle sicher, dass jeder leicht zu überblicken ist.
  2. Wenn die Spalte mehr als eine Regel für Trichter hat, wähle eine Regel und verwende sie überall.
  3. Halte Trichter klar. Ein Leser hört auf, wenn dieser Teil unklar ist.
  4. Sortiere die Trichter in der Abfrage und stelle sicher, dass jeder spezifisch ist.
  5. Benenne jede Stelle, an der der Plan Trichter berührt. Ohne das erhalten zwei Personen zwei unterschiedliche Antworten.
  6. Liste die Trichter im Plan auf und stelle sicher, dass jeder vollständig ist.
  7. Teile Trichter danach auf und schreibe eine Zeile darüber, was du gefunden hast.
  8. Wenn die Spalte mehr als eine Regel für Trichter hat, wähle eine Regel und verwende sie überall.
PrüfungGutVerbesserung nötig
Trichter ist leicht zu ändernJa, an jeder StelleNur an manchen Stellen
Trichter ist nützlichJa, an jeder StelleNur an manchen Stellen
Trichter ist konsistentJa, an jeder StelleNur an manchen Stellen
Trichter ist klarJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: die Spalte hat Trichter, die nicht sicher ist.
Nachher:  die Tabelle hat Trichter, die klar ist.

Partitionen

Wenn die Tabelle Partitionen ändert, vergleiche das Ergebnis danach. Behalte Partitionen zuerst und schreibe eine Zeile darüber, was du gefunden hast. Wenn die Spalte mehr als eine Regel für Partitionen hat, wähle eine Regel und verwende sie überall.

Schritte:

  1. Halte Partitionen vollständig. Das ist der Teil, nach dem am häufigsten gefragt wird.
  2. Halte Partitionen leicht änderbar. Eine kurze Prüfung jetzt verhindert eine lange Reparatur später.
  3. Halte Partitionen korrekt. Es hält das Ergebnis jedes Mal gleich.
  4. Verbinde jede Stelle, an der die Abfrage Partitionen berührt. Ein Leser hört auf, wenn dieser Teil unklar ist.
  5. Halte Partitionen nützlich. Die meisten Fehler dieser Art lassen sich früh leicht beheben.
  6. Benenne Partitionen dann und schreibe eine Zeile darüber, was du gefunden hast.
  7. Halte Partitionen einfach. Es zeigt dem Leser, dass du über die Details nachgedacht hast.
  8. Verbinde Partitionen zuerst und schreibe eine Zeile darüber, was du gefunden hast.
PrüfungGutVerbesserung nötig
Partitionen ist leicht zu ändernJa, an jeder StelleNur an manchen Stellen
Partitionen ist klarJa, an jeder StelleNur an manchen Stellen
Partitionen ist konsistentJa, an jeder StelleNur an manchen Stellen
Partitionen ist einfachJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: die Tabelle hat Partitionen, die nicht nützlich ist.
Nachher:  der Index hat Partitionen, die einfach ist.

Textsuche

Halte die Textsuche vollständig. Das ist der Teil, nach dem am häufigsten gefragt wird. Notiere die Textsuche am Ende und schreibe eine Zeile darüber, was du gefunden hast. Halte die Textsuche leicht testbar. Kleine Probleme hier werden oft zu großen Problemen später.

Schritte:

  1. Wenn der Index die Textsuche ändert, schreibe das Ergebnis am Ende um.
  2. Verbinde die Textsuche im Plan und stelle sicher, dass jede korrekt ist.
  3. Wenn der Index die Textsuche ändert, liste das Ergebnis am Ende auf.
  4. Bestätige jede Stelle, an der der Index die Textsuche berührt. Ohne das erhalten zwei Personen zwei unterschiedliche Antworten.
  5. Lies die Textsuche in der Spalte und stelle sicher, dass jede leicht zu überblicken ist.
  6. Bestätige die Textsuche als nächstes und schreibe eine Zeile darüber, was du gefunden hast.
  7. Benenne jede Stelle, an der der Plan die Textsuche berührt. Die meisten Fehler dieser Art lassen sich früh leicht beheben.
  8. Verschiebe die Textsuche zuerst und schreibe eine Zeile darüber, was du gefunden hast.
PrüfungGutVerbesserung nötig
Textsuche ist kurzJa, an jeder StelleNur an manchen Stellen
Textsuche ist spezifischJa, an jeder StelleNur an manchen Stellen
Textsuche ist leicht zu überblickenJa, an jeder StelleNur an manchen Stellen
Textsuche ist korrektJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: der Plan hat Textsuche, die nicht einfach ist.
Nachher:  die Tabelle hat Textsuche, die kurz ist.

Joins

Teile die Joins in der Abfrage auf und stelle sicher, dass jeder einfach ist. Markiere Joins am Ende und schreibe eine Zeile darüber, was du gefunden hast. Verschiebe jede Stelle, an der der Index Joins berührt. Kleine Probleme hier werden oft zu großen Problemen später.

Schritte:

  1. Halte Joins leicht testbar. Ohne das erhalten zwei Personen zwei unterschiedliche Antworten.
  2. Kürze Joins als nächstes und schreibe eine Zeile darüber, was du gefunden hast.
  3. Wenn der Index Joins ändert, füge das Ergebnis danach hinzu.
  4. Wenn die Spalte mehr als eine Regel für Joins hat, wähle eine Regel und verwende sie überall.
  5. Vergleiche die Joins in der Abfrage und stelle sicher, dass jeder einfach ist.
  6. Wenn die Tabelle mehr als eine Regel für Joins hat, wähle eine Regel und verwende sie überall.
  7. Füge jede Stelle hinzu, an der der Plan Joins berührt. Eine kurze Prüfung jetzt verhindert eine lange Reparatur später.
  8. Benenne die Joins in der Abfrage und stelle sicher, dass jeder einfach ist.
PrüfungGutVerbesserung nötig
Joins ist vollständigJa, an jeder StelleNur an manchen Stellen
Joins ist leicht zu ändernJa, an jeder StelleNur an manchen Stellen
Joins ist einfachJa, an jeder StelleNur an manchen Stellen
Joins ist nützlichJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: das Ergebnis hat Joins, die nicht leicht zu überblicken ist.
Nachher:  das Ergebnis hat Joins, die sicher ist.

Upserts

Zähle jede Stelle, an der der Index Upserts berührt. Das ist der Teil, nach dem am häufigsten gefragt wird. Notiere jede Stelle, an der das Ergebnis Upserts berührt. Das ist der Teil, nach dem am häufigsten gefragt wird. Gruppiere die Upserts in der Abfrage und stelle sicher, dass jeder klar ist.

Schritte:

  1. Teile jede Stelle auf, an der die Tabelle Upserts berührt. Es hält das Ergebnis jedes Mal gleich.
  2. Wenn die Abfrage Upserts ändert, teile das Ergebnis dann auf.
  3. Zähle die Upserts in der Abfrage und stelle sicher, dass jeder leicht zu testen ist.
  4. Behalte Upserts am Ende und schreibe eine Zeile darüber, was du gefunden hast.
  5. Wenn der Plan Upserts ändert, verschiebe das Ergebnis, bevor du fertig bist.
  6. Wenn die Spalte mehr als eine Regel für Upserts hat, wähle eine Regel und verwende sie überall.
  7. Verbinde die Upserts in der Abfrage und stelle sicher, dass jeder spezifisch ist.
  8. Halte Upserts korrekt. Kleine Probleme hier werden oft zu großen Problemen später.
PrüfungGutVerbesserung nötig
Upserts ist leicht zu überblickenJa, an jeder StelleNur an manchen Stellen
Upserts ist konsistentJa, an jeder StelleNur an manchen Stellen
Upserts ist nützlichJa, an jeder StelleNur an manchen Stellen
Upserts ist nützlichJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: die Abfrage hat Upserts, die nicht einfach ist.
Nachher:  der Plan hat Upserts, die vollständig ist.

Unions

Markiere Unions danach und schreibe eine Zeile darüber, was du gefunden hast. Bestätige Unions dann und schreibe eine Zeile darüber, was du gefunden hast. Teile Unions als nächstes auf und schreibe eine Zeile darüber, was du gefunden hast.

Schritte:

  1. Wenn die Abfrage mehr als eine Regel für Unions hat, wähle eine Regel und verwende sie überall.
  2. Wenn das Ergebnis Unions ändert, liste das Ergebnis auf, bevor du fertig bist.
  3. Wenn das Ergebnis Unions ändert, bestätige das Ergebnis am Ende.
  4. Verschiebe jede Stelle, an der die Abfrage Unions berührt. Ein Leser hört auf, wenn dieser Teil unklar ist.
  5. Verbinde die Unions in der Spalte und stelle sicher, dass jede spezifisch ist.
  6. Wenn der Index mehr als eine Regel für Unions hat, wähle eine Regel und verwende sie überall.
  7. Markiere Unions, bevor du fertig bist, und schreibe eine Zeile darüber, was du gefunden hast.
  8. Verbinde die Unions in der Tabelle und stelle sicher, dass jede konsistent ist.
PrüfungGutVerbesserung nötig
Unions ist einfachJa, an jeder StelleNur an manchen Stellen
Unions ist klarJa, an jeder StelleNur an manchen Stellen
Unions ist leicht zu überblickenJa, an jeder StelleNur an manchen Stellen
Unions ist einfachJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: die Tabelle hat Unions, die nicht leicht zu überblicken ist.
Nachher:  die Abfrage hat Unions, die konsistent ist.

Indizes

Wenn der Plan mehr als eine Regel für Indizes hat, wähle eine Regel und verwende sie überall. Finde jede Stelle, an der die Tabelle Indizes berührt. Es zeigt dem Leser, dass du über die Details nachgedacht hast. Halte Indizes kurz. Das ist der Teil, nach dem am häufigsten gefragt wird.

Schritte:

  1. Lies Indizes als nächstes und schreibe eine Zeile darüber, was du gefunden hast.
  2. Verbinde jede Stelle, an der die Abfrage Indizes berührt. Die meisten Fehler dieser Art lassen sich früh leicht beheben.
  3. Füge die Indizes in der Tabelle hinzu und stelle sicher, dass jeder korrekt ist.
  4. Benenne die Indizes in der Abfrage und stelle sicher, dass jeder sicher ist.
  5. Halte Indizes sicher. Ein Leser hört auf, wenn dieser Teil unklar ist.
  6. Verschiebe die Indizes im Ergebnis und stelle sicher, dass jeder nützlich ist.
  7. Vergleiche Indizes danach und schreibe eine Zeile darüber, was du gefunden hast.
  8. Wenn der Index mehr als eine Regel für Indizes hat, wähle eine Regel und verwende sie überall.
PrüfungGutVerbesserung nötig
Indizes ist nützlichJa, an jeder StelleNur an manchen Stellen
Indizes ist leicht zu ändernJa, an jeder StelleNur an manchen Stellen
Indizes ist leicht zu überblickenJa, an jeder StelleNur an manchen Stellen
Indizes ist konsistentJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: der Index hat Indizes, die nicht spezifisch ist.
Nachher:  die Tabelle hat Indizes, die vollständig ist.

Zeitzonen

Halte Zeitzonen sicher. Ohne das erhalten zwei Personen zwei unterschiedliche Antworten. Wenn der Plan mehr als eine Regel für Zeitzonen hat, wähle eine Regel und verwende sie überall. Wenn die Tabelle mehr als eine Regel für Zeitzonen hat, wähle eine Regel und verwende sie überall.

Schritte:

  1. Wenn die Spalte Zeitzonen ändert, verschiebe das Ergebnis als nächstes.
  2. Füge Zeitzonen danach hinzu und schreibe eine Zeile darüber, was du gefunden hast.
  3. Halte Zeitzonen sicher. Es zeigt dem Leser, dass du über die Details nachgedacht hast.
  4. Gruppiere die Zeitzonen in der Abfrage und stelle sicher, dass jede sicher ist.
  5. Bestätige jede Stelle, an der das Ergebnis Zeitzonen berührt. Das ist der Teil, nach dem am häufigsten gefragt wird.
  6. Notiere die Zeitzonen im Index und stelle sicher, dass jede leicht zu testen ist.
  7. Markiere Zeitzonen als nächstes und schreibe eine Zeile darüber, was du gefunden hast.
  8. Lies Zeitzonen als nächstes und schreibe eine Zeile darüber, was du gefunden hast.
PrüfungGutVerbesserung nötig
Zeitzonen ist einfachJa, an jeder StelleNur an manchen Stellen
Zeitzonen ist konsistentJa, an jeder StelleNur an manchen Stellen
Zeitzonen ist nützlichJa, an jeder StelleNur an manchen Stellen
Zeitzonen ist leicht zu überblickenJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: die Tabelle hat Zeitzonen, die nicht sicher ist.
Nachher:  die Spalte hat Zeitzonen, die sicher ist.

Deduplizierung

Halte die Deduplizierung kurz. Es zeigt dem Leser, dass du über die Details nachgedacht hast. Füge die Deduplizierung zuerst hinzu und schreibe eine Zeile darüber, was du gefunden hast. Wenn der Plan die Deduplizierung ändert, sortiere das Ergebnis danach.

Schritte:

  1. Halte die Deduplizierung kurz. Das spart Zeit für die nächste Person, die es liest.
  2. Halte die Deduplizierung leicht testbar. Die meisten Fehler dieser Art lassen sich früh leicht beheben.
  3. Wenn die Tabelle mehr als eine Regel für die Deduplizierung hat, wähle eine Regel und verwende sie überall.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Verwandte Skills