当用户提到以下关键词时,使用此skill:
用户说法执行命令说明"数据库慢了"dbskiter --output-mode=ai --database=<name> diagnose slow-queries查看慢查询"SQL有问题"dbskiter --output-mode=ai --database=<name> diagnose sql "<SQL>"诊断特定SQL"加什么索引"dbskiter --output-mode=ai --database=<name> diagnose recommend-indexes获取索引建议"检查一下"dbskiter --output-mode=ai --database=<name> diagnose report全面诊断报告"有锁吗"dbskiter --output-mode=ai --database=<name> diagnose locks查看锁情况"性能分析"dbskiter --output-mode=ai --database=<name> diagnose performance-snapshot采集性能快照"瓶颈分析"dbskiter --output-mode=ai --database=<name> diagnose bottleneck分析性能瓶颈"CPU高"dbskiter --output-mode=ai --database=<name> diagnose performance-snapshot查看CPU指标"IO高"dbskiter --output-mode=ai --database=<name> diagnose bottleneck查看IO瓶颈
数据库性能快照瓶颈分析慢查询状态MySQL支持支持支持生产就绪Oracle支持支持支持生产就绪PostgreSQL支持支持支持生产就绪
说明:
bash
dbskiter --database=<数据库名> diagnose slow-queries
默认行为:返回最近7天最慢的10个查询
可选参数:
--limit=5:只看前5条--min-duration=0.5:超过0.5秒的查询bash
dbskiter --database=<数据库名> diagnose sql "SELECT * FROM users WHERE email = 'test@test.com'"
输出:评分、问题列表、优化建议
bash
dbskiter --database=<数据库名> diagnose recommend-indexes
默认行为:分析所有表,推荐高价值索引
可选参数:
--table=users:只分析指定表bash
dbskiter --database=<数据库名> diagnose locks
输出:当前锁等待情况
bash
dbskiter --database=<数据库名> diagnose performance-snapshot
输出:CPU、IO、内存、并发、锁等多维度性能指标
适用场景:
输出示例:
json
{
"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": [...]
}
}
bash
dbskiter --database=<数据库名> diagnose bottleneck
输出:自动识别性能瓶颈并给出优化建议
适用场景:
输出示例:
json
{
"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资源"
]
}
}
bash
dbskiter --database=<数据库名> diagnose report
输出:慢查询 + 索引建议 + 锁情况 + 总体评分
text
步骤1:执行 dbskiter --database=<name> diagnose performance-snapshot
步骤2:查看返回的bottlenecks,确定瓶颈类型
步骤3:如果是慢查询导致,执行 dbskiter --database=<name> diagnose slow-queries
步骤4:根据诊断结果,执行 dbskiter --database=<name> diagnose recommend-indexes
步骤5:总结给用户:"发现X个性能瓶颈,主要是XX问题,建议..."
text
步骤1:执行 dbskiter --database=<name> diagnose performance-snapshot
步骤2:查看metrics中category为cpu的指标
步骤3:如果active_session_ratio高,执行 dbskiter --database=<name> diagnose slow-queries
步骤4:给出优化建议
text
步骤1:执行 dbskiter --database=<name> diagnose sql "<SQL>"
步骤2:如果评分<70,执行 dbskiter --database=<name> diagnose recommend-indexes
步骤3:给出优化后的SQL和建议
text
步骤1:执行 dbskiter --database=<name> diagnose performance-snapshot(查看当前性能状态)
步骤2:执行 dbskiter --database=<name> diagnose report(获取综合报告)