소스 정보
- 저장소
- Dev-Toolbelt/dev-team-agents
- 최근 소스 활동
- 2026년 5월 11일 16:18
- 감지된 SKILL.md 언어
- 영어
- 스타
- 4
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/Dev-Toolbelt/dev-team-agents --skill database-debug명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
SOC 직업 분류 기준
| name | database-debug |
| description | DB debug — slow queries, index inspection, lock detection. |
Execution plan
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT) <your query>;
Sequential scans on large tables (signals missing indexes)
SELECT relname, seq_scan, idx_scan, n_live_tup
FROM pg_stat_user_tables
ORDER BY seq_scan DESC;
Unused indexes (candidates for removal)
SELECT indexrelname, idx_scan
FROM pg_stat_user_indexes
WHERE idx_scan = 0 AND indexrelname NOT LIKE 'pg_%';
Active locks and blocking queries
SELECT pid, state, wait_event_type, wait_event, left(query, 100) AS query
FROM pg_stat_activity
WHERE wait_event IS NOT NULL;
Table and index sizes
SELECT relname, pg_size_pretty(pg_total_relation_size(oid)) AS total_size
FROM pg_class WHERE relkind = 'r'
ORDER BY pg_total_relation_size(oid) DESC LIMIT 20;
Top slow queries (requires pg_stat_statements extension)
SELECT query, calls, mean_exec_time, total_exec_time
FROM pg_stat_statements
ORDER BY mean_exec_time DESC LIMIT 10;
Missing foreign key indexes
SELECT conrelid::regclass AS table, a.attname AS column
FROM pg_constraint c
JOIN pg_attribute a ON a.attrelid = c.conrelid AND a.attnum = ANY(c.conkey)
WHERE c.contype = 'f'
AND NOT EXISTS (
SELECT 1 FROM pg_index i
WHERE i.indrelid = c.conrelid AND a.attnum = ANY(i.indkey)
);
Bloat check (dead tuples — signals need for VACUUM)
SELECT relname, n_dead_tup, n_live_tup,
round(100 * n_dead_tup::numeric / nullif(n_live_tup + n_dead_tup, 0), 1) AS dead_pct
FROM pg_stat_user_tables
WHERE n_live_tup > 0
ORDER BY dead_pct DESC;
Execution plan
EXPLAIN FORMAT=JSON <your query>;
EXPLAIN ANALYZE <your query>; -- MySQL 8.0+
Index inspection
SHOW INDEX FROM <table>;
SHOW TABLE STATUS LIKE '<table>';
Top slow queries (via Performance Schema)
SELECT digest_text, count_star, avg_timer_wait / 1e12 AS avg_sec
FROM performance_schema.events_statements_summary_by_digest
ORDER BY sum_timer_wait DESC LIMIT 10;
Active connections and locks
SHOW PROCESSLIST;
SELECT * FROM information_schema.INNODB_LOCKS;
SELECT * FROM information_schema.INNODB_LOCK_WAITS;
Table sizes
SELECT table_name,
round(data_length / 1024 / 1024, 2) AS data_mb,
round(index_length / 1024 / 1024, 2) AS index_mb
FROM information_schema.tables
WHERE table_schema = DATABASE()
ORDER BY data_length + index_length DESC;
Execution plan
EXPLAIN QUERY PLAN <your query>;
Index list
PRAGMA index_list('<table>');
PRAGMA index_info('<index_name>');
Table info
PRAGMA table_info('<table>');
PRAGMA integrity_check;
Query analysis
db.collection.find({ field: value }).explain("executionStats")
Index inspection
db.collection.getIndexes()
db.collection.aggregate([{ $indexStats: {} }])
Collection stats
db.runCommand({ collStats: "collection" })
db.runCommand({ dbStats: 1 })
Slow operations (requires profiler enabled)
db.setProfilingLevel(1, { slowms: 100 })
db.system.profile.find().sort({ ts: -1 }).limit(10)
redis-cli INFO memory # memory usage and fragmentation
redis-cli INFO stats # command stats, hit/miss rates
redis-cli INFO clients # connected clients
redis-cli --bigkeys # find largest keys by memory
redis-cli --hotkeys # find most-accessed keys (requires maxmemory-policy allkeys-lfu)
redis-cli MONITOR # live command stream — use briefly, high CPU overhead
redis-cli SLOWLOG GET 10 # last 10 slow commands
redis-cli LATENCY HISTORY event
Key pattern inspection
redis-cli --scan --pattern "prefix:*" | wc -l # count keys matching pattern
redis-cli OBJECT ENCODING <key> # storage encoding
redis-cli OBJECT IDLETIME <key> # seconds since last access
redis-cli MEMORY USAGE <key> # bytes consumed by a key