SuperAPI AI 工具集

cockroachdb-sql

数据与分析

查看项目

更新于 10-16 06:59

技能介绍

CockroachDB SQL Skill 是一个面向 CockroachDB 的 SQL 辅助技能,用于编写、生成和优化 CockroachDB SQL,设计 CockroachDB 架构,或在用户询问 CockroachDB 特有 SQL 模式时提供帮助。其核心定位是将自然语言问题转换为符合 CockroachDB 规范并遵循其最佳实践的 SQL 查询,可用于架构设计、查询编写与查询优化,且始终聚焦 CockroachDB 本身,而非数据库转换。

主要能力与工作方式:技能被调用后会先进行连接检测并复用已有连接。随后解析自然语言意图,识别操作类型,如 SELECT、INSERT、UPDATE、DELETE、CREATE、ALTER 等。接着收集上下文:检查对话中是否已有架构上下文;若已连接数据库,则通过 SHOW TABLES 查看现有表、通过 SHOW CREATE TABLE table_name 查看现有结构;必要时追问表结构、列数据类型、索引需求、多区域需求与性能特征等信息。然后应用 CockroachDB 规则,参照 references/cockroachdb-rules/ 中的规则,并根据操作确定规则类别:00-fundamental-principles.md(始终优先应用的基本原则)、01-schema-design.md(建表与结构)、02-dml-operations.md(数据修改)、03-query-patterns.md(查询构造)、04-optimization.md(性能、优化与反模式)、05-operational.md(管理与维护),同时依据 04-optimization.md 中的反模式进行校验。

数据库校验为强制步骤:在已连接数据库时,对每条生成的 SQL 查询都必须运行 EXPLAIN;若 EXPLAIN 返回解析或语法错误,则修正查询并重新运行 EXPLAIN,直到通过,并在响应中包含 EXPLAIN 输出。

连接检测方式:若提示中提供了连接字符串(postgresql://...),则使用 cockroach sql --url "<provided-url>" -e "SQL" 运行查询,不使用 psql;否则检查 COCKROACH_URL 环境变量(echo $COCKROACH_URL),若已设置则使用 cockroach sql --url $COCKROACH_URL -e "SQL" 运行查询,不使用 psql;否则检查 cockroach-cloud MCP server 是否可用。

输出格式方面:展示生成 SQL 并附解释性注释;列出所使用的 CockroachDB 特有功能;包含性能考量;进行优化时,每一步需先说明该步骤目的,再执行该步骤并报告结果,最后汇总所有发现与所采取的操作;并提供所用参考(包括规则)。

文档中给出的示例包括:使用 UUID 主键进行架构设计以避免热点(CREATE TABLE orders,含 UUID PRIMARY KEY DEFAULT gen_random_uuid()、STRING 类型 status、DECIMAL(10,2) total、TIMESTAMPTZ created_at,以及 INDEX idx_orders_customer 和 INDEX idx_orders_status_created);使用 UNNEST 的批量 UPSERT(UPSERT INTO inventory ... SELECT * FROM UNNEST(...));以及键集分页(Keyset Pagination,避免使用 OFFSET),以上一页最后的 (created_at, id) 作为游标,示例中字面量为占位符,应用中应使用绑定参数。

支持的文档与参考包括:references/cockroachdb-rules/(CockroachDB SQL 规则)、references/EXAMPLES.md(SQL 示例与模式),以及 EXAMPLES.md、00-fundamental-principles.md、01-schema-design.md、02-dml-operations.md、03-query-patterns.md、04-optimization.md、05-operational.md 等文件。关于具体收费、价格、平台支持范围或实际效果等信息,资料中暂无提供。