本文へ移動
cccskills
無料GitHub で公開

database-indexing

PostgreSQL indexing: B-tree, GIN, GiST, composite, partial, covering, CONCURRENTLY, bloat detection.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcaneスター 3(GitHub 3 + cccskills 0)
連携ツールPostgreSQL

実行スコア 未検証

インストール方法を見る

含まれるファイル(4)

  • SKILL.md3.5 KB
  • references/anti-patterns.md651 B
  • references/checklists.md825 B
  • references/index-types.md986 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Database Indexing (PostgreSQL)

Diseñar, crear y mantener índices en Postgres 15+ en contexto multi-tenant Educabot.

Cuándo usar / NO usar

UsarNO usar
Queries lentas con Seq Scan en tablas grandesTablas <10k rows (Seq Scan suele ganar)
Schema nuevo: planificar índicesBooleans/enums baja cardinalidad (usar partial)
Revisión periódica: faltantes/no usadosAlta write, pocas reads
Bloat, REINDEX necesarioFull-text search → /search-setup
Multi-tenant: tenant_id primera columna compositeQuery puntual lenta → /query-optimization

Tipos de índices

B-tree (default, 95% de casos), GIN (arrays/jsonb/tsvector), GiST (geo/ranges), BRIN (tablas enormes ordenadas), Partial (filtro en definición), Covering/INCLUDE, Expression.

→ Read references/index-types.md for detailed type comparison table and JSONB indexing guide

Cuándo crear

  • WHERE con alta selectividad (>100 rows devueltos dilute beneficio)
  • JOIN (especialmente FKs)
  • ORDER BY / GROUP BY frecuentes
  • Constraints UNIQUE
  • Regla: query frecuente que escanea miles para devolver pocos → indexar

Composite indexes

Un índice (a, b, c) sirve para a, a,b, a,b,c — NO para b, c, o b,c solos (leftmost prefix).

Orden de columnas: igualdad primero (tenant_id =) → rango después (created_at >) → ORDER BY al final.

CONCURRENTLY en producción

Obligatorio en tablas grandes: no bloquea writes. No puede correr dentro de transacción — separar en su propia migration. Si falla queda índice INVALID → detectar con pg_index WHERE NOT indisvalid → DROP INDEX CONCURRENTLY.

Detectar faltantes

Consultar pg_stat_user_tables donde seq_scan > idx_scan AND n_live_tup > 10000. Luego revisar queries reales con pg_stat_statements.

Detectar no usados

Consultar pg_stat_user_indexes donde idx_scan = 0 tras 1 mes de observación. DROP INDEX CONCURRENTLY. Excepción: índices únicos que respaldan constraints.

Foreign keys

Postgres no crea índice automático en columnas FK. Sin índice cada DELETE/UPDATE en parent hace seq scan de child. Siempre crear índice en child FK.

EXPLAIN post-creación

Verificar con EXPLAIN (ANALYZE, BUFFERS). Planes esperables: Index Scan, Index Only Scan (ideal), Bitmap Heap Scan. Si Seq Scan → índice no se usa. Ver /query-optimization.

Bloat y REINDEX

B-tree se bloatea con updates/deletes. Monitorear con pgstattuple. Reparar: REINDEX INDEX CONCURRENTLY o pg_repack. Agendar trimestral para índices calientes.

Multi-tenant Educabot

Todo índice compuesto debe empezar por tenant_id para que RLS y queries filtradas lo aprovechen. Patrón: (tenant_id, student_id, period_id).

Anti-patterns

→ Read references/anti-patterns.md for 12 common indexing anti-patterns

Checklist

→ Read references/checklists.md for pre-creation checklist (11 items) and periodic maintenance checklist (5 items)

Delegación

  • /query-optimization — análisis de query lenta puntual
  • /search-setup — full-text search (tsvector, GIN)
  • /data-migrations — migraciones sin downtime, separación CONCURRENTLY
  • /db-diagram — diagramar schema

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Plan, design, and implement A/B tests and experiments with statistical rigor. Covers hypothesis frameworks, sample sizing, metrics, and result analysis.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Web/mobile accessibility decision guide: WCAG 2.2 AA, ARIA, keyboard nav, focus management, contrast, testing. Use for: a11y, accessibility, wcag, aria, screen reader, keyboard, contrast.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Generate, iterate, and scale ad creative for paid advertising across Google, Meta, LinkedIn, and X. Covers platform specs, creative frameworks, and quality validation.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Musica interactiva para juegos: layering vertical, re-secuenciacion horizontal, stingers, reglas de transicion con sync points, y mapeo de estados de gameplay a musica. Usar para: musica adaptativa, sistema de musica dinamica, transiciones musicales, combat music.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Design multi-agent systems, create agent architectures, define communication patterns, and build autonomous agent workflows with structured evaluation frameworks.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, response formats, and quality loops.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

SebastianLuser のスキルをすべて見る

このスキルの問題を報告する