← Back to Skills Marketplace
magicczc

数据库诊断与优化

by magicCzc · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
39
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install dbskiter-db-diagnose
Description
数据库诊断与优化,支持SQL诊断、慢查询分析、索引推荐、性能快照。 使用场景: - 用户说"数据库慢了" -> 执行 slow-queries - 用户说"SQL有问题" -> 执行 sql "<SQL>" - 用户说"推荐索引" -> 执行 recommend-indexes - 用户说"全面检查" -> 执行...
README (SKILL.md)

数据库诊断 Skill

何时使用

当用户提到以下关键词时,使用此skill:

用户说法 执行命令 说明
"数据库慢了" dbskiter --output-mode=ai --database=\x3Cname> diagnose slow-queries 查看慢查询
"SQL有问题" dbskiter --output-mode=ai --database=\x3Cname> diagnose sql "\x3CSQL>" 诊断特定SQL
"加什么索引" dbskiter --output-mode=ai --database=\x3Cname> diagnose recommend-indexes 获取索引建议
"检查一下" dbskiter --output-mode=ai --database=\x3Cname> diagnose report 全面诊断报告
"有锁吗" dbskiter --output-mode=ai --database=\x3Cname> diagnose locks 查看锁情况
"性能分析" dbskiter --output-mode=ai --database=\x3Cname> diagnose performance-snapshot 采集性能快照
"瓶颈分析" dbskiter --output-mode=ai --database=\x3Cname> diagnose bottleneck 分析性能瓶颈
"CPU高" dbskiter --output-mode=ai --database=\x3Cname> diagnose performance-snapshot 查看CPU指标
"IO高" dbskiter --output-mode=ai --database=\x3Cname> diagnose bottleneck 查看IO瓶颈

数据库支持

统一性能模型支持

数据库 性能快照 瓶颈分析 慢查询 状态
MySQL 支持 支持 支持 生产就绪
Oracle 支持 支持 支持 生产就绪
PostgreSQL 支持 支持 支持 生产就绪

说明

  • MySQL:支持5.7/8.0,自动降级(performance_schema -> information_schema -> SHOW STATUS)
  • Oracle:支持11g/12c/19c/21c,自动降级(AWR -> V$视图 -> 基础统计),支持RAC
  • PostgreSQL:支持10-16,自动降级(pg_stat_statements -> pg_stat_activity),支持pg_stat_kcache扩展

核心命令

1. 查看慢查询

dbskiter --database=\x3C数据库名> diagnose slow-queries

默认行为:返回最近7天最慢的10个查询

可选参数

  • --limit=5:只看前5条
  • --min-duration=0.5:超过0.5秒的查询

2. 诊断SQL

dbskiter --database=\x3C数据库名> diagnose sql "SELECT * FROM users WHERE email = '[email protected]'"

输出:评分、问题列表、优化建议

3. 推荐索引

dbskiter --database=\x3C数据库名> diagnose recommend-indexes

默认行为:分析所有表,推荐高价值索引

可选参数

  • --table=users:只分析指定表

4. 查看锁

dbskiter --database=\x3C数据库名> diagnose locks

输出:当前锁等待情况

5. 性能快照(新增)

dbskiter --database=\x3C数据库名> diagnose performance-snapshot

输出:CPU、IO、内存、并发、锁等多维度性能指标

适用场景

  • 数据库整体性能评估
  • 容量规划前的基线采集
  • 性能问题的全面诊断

输出示例

{
  "summary": "性能快照采集完成",
  "data": {
    "snapshot": {
      "timestamp": "2026-04-24T10:30:00",
      "metrics": [
        {
          "name": "active_session_ratio",
          "value": 75.5,
          "unit": "%",
          "category": "cpu",
          "severity": "high"
        }
      ],
      "slow_queries": [...],
      "active_sessions": 15,
      "total_sessions": 100
    },
    "bottlenecks": [...]
  }
}

6. 瓶颈分析(新增)

dbskiter --database=\x3C数据库名> diagnose bottleneck

输出:自动识别性能瓶颈并给出优化建议

适用场景

  • 数据库性能下降时的快速诊断
  • 定位CPU/IO/锁等具体瓶颈

输出示例

{
  "summary": "发现3个性能瓶颈",
  "data": {
    "bottlenecks": [
      {
        "category": "cpu",
        "severity": "high",
        "metrics": [...],
        "suggestion": "检查高CPU消耗的SQL,考虑优化或增加CPU资源"
      }
    ],
    "severity_summary": {
      "critical": 0,
      "high": 1,
      "medium": 2,
      "low": 0
    },
    "recommendations": [
      "[cpu] 检查高CPU消耗的SQL,考虑优化或增加CPU资源"
    ]
  }
}

7. 综合报告

dbskiter --database=\x3C数据库名> diagnose report

输出:慢查询 + 索引建议 + 锁情况 + 总体评分

AI决策流程

场景1:用户说"数据库慢了"

步骤1:执行 dbskiter --database=\x3Cname> diagnose performance-snapshot
步骤2:查看返回的bottlenecks,确定瓶颈类型
步骤3:如果是慢查询导致,执行 dbskiter --database=\x3Cname> diagnose slow-queries
步骤4:根据诊断结果,执行 dbskiter --database=\x3Cname> diagnose recommend-indexes
步骤5:总结给用户:"发现X个性能瓶颈,主要是XX问题,建议..."

场景2:用户说"CPU使用率很高"

步骤1:执行 dbskiter --database=\x3Cname> diagnose performance-snapshot
步骤2:查看metrics中category为cpu的指标
步骤3:如果active_session_ratio高,执行 dbskiter --database=\x3Cname> diagnose slow-queries
步骤4:给出优化建议

场景3:用户说"帮我优化这个SQL"

步骤1:执行 dbskiter --database=\x3Cname> diagnose sql "\x3CSQL>"
步骤2:如果评分\x3C70,执行 dbskiter --database=\x3Cname> diagnose recommend-indexes
步骤3:给出优化后的SQL和建议

场景4:用户说"做个全面检查"

步骤1:执行 dbskiter --database=\x3Cname> diagnose performance-snapshot(查看当前性能状态)
步骤2:执行 dbskiter --database=\x3Cname> diagnose report(获取综合报告)
Usage Guidance
在安装或启用此技能前: - 确认 dbskiter 二进制来自可信来源并了解如何安装与更新;不要在不知道来源的情况下运行未验证的二进制。 - 询问技能作者/发布者:dbskiter 如何获得数据库凭据(环境变量、配置文件、代理或交互式输入);当心任何会读取 ~/.my.cnf、pgpass、云凭据或其他系统凭据的行为。 - 仅在受控环境或测试库上首先运行,避免直接对生产数据库使用“执行任意 SQL”的功能;为诊断创建只读且最小权限的数据库账号。 - 如果需要生产验证,要求作者补充元数据(声明所需二进制、安装步骤、必需的环境变量/凭据和网络访问范围)并提供源码或二进制签名以便审计。 - 若不能确认上述信息或二进制/凭据来源,视为高风险并避免在敏感环境中启用。
Capability Assessment
Purpose & Capability
功能(慢查询、SQL 诊断、索引推荐、性能快照、瓶颈分析等)与名称/描述一致。但 SKILL.md 假定存在一个名为 dbskiter 的 CLI 工具并通过 --database 参数与目标数据库交互;元数据未声明该二进制或任何安装要求,存在不一致。
Instruction Scope
运行时指令直接调用 dbskiter CLI 并允许执行任意 SQL(diagnose sql "<SQL>"),说明中没有说明如何提供数据库凭据或配置来源。实际执行时 dbskiter 很可能会访问环境变量、配置文件(例如 ~/.my.cnf、pgpass 或云/代理凭据)或本地网络来连接数据库,SKILL.md 未限制或说明这些行为,范围太模糊且可能导致凭据读取/传输风险。
Install Mechanism
这是纯说明型技能(无 install spec、无代码文件),因此不会自动写盘或下载代码,这通常是低风险。但由于指令依赖 dbskiter 二进制却未声明其为必需或如何安装,使用前需要确认该二进制来自何处并验证其可信度。
Credentials
元数据声明无需环境变量或凭据,但功能上必然需要访问数据库凭据/网络。此不一致意味着技能隐含地依赖未声明的敏感凭据(可能是环境变量、凭据文件或系统配置),这不成比例且未说明最小权限要求。
Persistence & Privilege
技能未请求 always:true 且默认允许模型调用(平台默认)。没有安装脚本或持久化设置,也未声明修改其它技能或系统范围配置,持久性/特权请求看上去正常。
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install dbskiter-db-diagnose
  3. After installation, invoke the skill by name or use /dbskiter-db-diagnose
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of the db-diagnose skill for database diagnostics and optimization. - Supports SQL diagnosis, slow query analysis, index recommendations, performance snapshots, and bottleneck analysis. - Provides clear command usage and triggers based on user input scenarios (e.g., "数据库慢了", "SQL有问题", "瓶颈分析"). - Covers MySQL, Oracle, and PostgreSQL with auto-downgrade compatibility for major versions. - Adds new commands for performance snapshot and automated bottleneck analysis. - Includes detailed guidance on when and how to use each function, plus AI decision flows for common database issues.
Metadata
Slug dbskiter-db-diagnose
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is 数据库诊断与优化?

数据库诊断与优化,支持SQL诊断、慢查询分析、索引推荐、性能快照。 使用场景: - 用户说"数据库慢了" -> 执行 slow-queries - 用户说"SQL有问题" -> 执行 sql "<SQL>" - 用户说"推荐索引" -> 执行 recommend-indexes - 用户说"全面检查" -> 执行... It is an AI Agent Skill for Claude Code / OpenClaw, with 39 downloads so far.

How do I install 数据库诊断与优化?

Run "/install dbskiter-db-diagnose" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is 数据库诊断与优化 free?

Yes, 数据库诊断与优化 is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does 数据库诊断与优化 support?

数据库诊断与优化 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created 数据库诊断与优化?

It is built and maintained by magicCzc (@magicczc); the current version is v1.0.0.

💬 Comments