Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

data-sql-optimization数据 SQL optimization

Agent Skill

用于辅助数据库表结构、查询语句、迁移脚本和数据维护任务。它适合让 Agent 分析 schema、编写 SQL、排查查询问题、整理索引或生成迁移建议。使用时需要明确数据库类型、连接环境和目标表,区分只读分析与写入变更;涉及删除、更新、迁移和批量导入时,应优先 dry-run、备份或事务保护,避免误操作。

总安装

349

周安装

15

GitHub Stars

125

下载量

122
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:data-sql-optimization(数据 SQL optimization)
来源仓库:https://github.com/asgard-ai-platform/skills
仓库路径:skills/data-sql-optimization
安装命令:
npx skills add https://github.com/asgard-ai-platform/skills --skill data-sql-optimization
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/asgard-ai-platform/skills --skill data-sql-optimization

简介

data-sql-optimization 用于分析与优化 SQL 查询性能,基于 EXPLAIN 执行计划定位瓶颈。

  • 它提供索引建议、扫描类型判断与慢查询诊断,适用于数据库调优与维护。
  • 强调测量先行原则,避免盲目优化,支持 PostgreSQL 与常见 RDBMS。
  • 安装来自 GitHub,需确认数据库连接与环境权限,避免直接修改生产数据。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

SQL Query Optimization

Framework

IRON LAW: Measure Before Optimizing

NEVER guess which query is slow or why. Use EXPLAIN (EXPLAIN ANALYZE in
PostgreSQL) to see the actual execution plan. The database's plan often
differs from what you expect — a query you think is efficient may do
a full table scan, and a complex-looking query may use an index perfectly.

Measure → identify bottleneck → fix → measure again.

EXPLAIN Output Reading

Key metrics in EXPLAIN ANALYZE (PostgreSQL):

MetricWhat It MeansRed Flag
Seq ScanFull table scanOn large tables (>100K rows)
Index ScanUsing an indexExpected for filtered queries
Nested LoopJoin method (row-by-row)On large tables without index
Hash JoinJoin method (hash table)Normal for larger tables
SortSorting resultsWithout index support on large sets
Actual TimeMilliseconds for this stepCompare to identify bottleneck
RowsActual rows processed vs estimatedLarge mismatch = stale statistics

Indexing Strategy

When to IndexIndex TypeExample
WHERE clause columnB-Tree (default)CREATE INDEX idx_user_email ON users(email)
JOIN columnB-TreeCREATE INDEX idx_order_user ON orders(user_id)
Composite filterComposite indexCREATE INDEX idx_order_status_date ON orders(status, created_at)
Text searchGIN / Full-textCREATE INDEX idx_product_name_gin ON products USING gin(name gin_trgm_ops)
Range queriesB-TreeColumns used with BETWEEN, >, <

Composite index column order matters: Put the most selective (highest cardinality) column first. INDEX(status, date) is good if you always filter by status. INDEX(date, status) is better if you always filter by date range first.

Common Anti-Patterns

Anti-PatternProblemFix
SELECT *Reads all columns, prevents index-only scansSelect only needed columns
Subquery in WHERERe-executes for each rowRewrite as JOIN or CTE
OR in WHEREPrevents index useRewrite as UNION or separate queries
Function on indexed columnWHERE YEAR(date) = 2024 bypasses indexWHERE date >= '2024-01-01' AND date < '2025-01-01'
N+1 queries1 query for list + N queries for detailsJOIN or batch query with IN
Missing paginationFetching all rows when only showing 20LIMIT + OFFSET or keyset pagination
Implicit type conversionWHERE id = '123' (string vs int)Use correct type: WHERE id = 123

Optimization Workflow

  1. Identify slow queries: Database slow query log (pg_stat_statements, MySQL slow log)
  2. Run EXPLAIN ANALYZE on the slowest
  3. Find the bottleneck: Seq Scan on large table? Missing index? Expensive sort?
  4. Apply fix: Add index, rewrite query, or restructure schema
  5. Verify: Run EXPLAIN ANALYZE again — confirm improvement
  6. Monitor: Check that fix didn't degrade other queries

Partitioning (Large Tables)

When tables exceed millions of rows:

StrategyHow It WorksBest For
Range partitionSplit by date range (monthly, yearly)Time-series data, logs
Hash partitionDistribute by hash of a columnEven distribution, high-throughput
List partitionSplit by specific valuesMulti-tenant, status-based

Output Format

# Query Optimization: {Context}

## Slow Query

{the original slow query}


- Execution time: {current ms}
- Rows scanned: {N}
- Problem: {what EXPLAIN revealed}

## Fix Applied

{What was changed — new index, query rewrite, etc.}

## Result

- Execution time: {original ms} → {optimized ms} ({X% improvement})
- Rows scanned: {original N} → {optimized N}

Gotchas

  • Indexes have write cost: Every INSERT/UPDATE must update all indexes. Over-indexing slows writes. Index what you query, not everything.
  • Statistics can be stale: If EXPLAIN estimates are way off from actuals, run ANALYZE (PostgreSQL) or ANALYZE TABLE (MySQL) to update statistics.
  • Query cache hides problems: A query may appear fast because it's cached. Test with cache cleared or cold start.
  • ORM-generated queries: ORMs (Django, SQLAlchemy, ActiveRecord) generate SQL that may not be optimal. Always inspect the actual SQL for performance-critical paths.
  • Connection pooling: Sometimes the bottleneck isn't the query but connection overhead. Use connection pooling (PgBouncer, ProxySQL) for high-concurrency applications.

References

  • For PostgreSQL-specific optimization, see references/pg-optimization.md
  • For CTE vs temp table performance comparison, see references/cte-vs-temp.md

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.42%
按下载量换算42

Claude

29.58%
按下载量换算36

Cursor

20.22%
按下载量换算25

Gemini CLI

8.98%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills