SuperAPI AI 工具集

sql-expert

数据与分析

查看项目

更新于 10-15 09:22

技能介绍

用途

SQL Expert 是一个专家级 SQL 数据库技能,适用于数据库设计、查询编写、性能优化和数据库管理。它覆盖 PostgreSQL、MySQL 和 SQL Server 三种主流数据库。当用户涉及数据库相关任务时可以使用该技能。

主要能力

该技能围绕 SQL 开发与管理的核心实践展开,具体包括:

  • 防止 SQL 注入:强调使用预处理语句(Prepared Statements),而非拼接字符串。示例中给出不安全写法(直接拼接 userInput)与安全写法(PREPARE / EXECUTE USING)的对比。
  • 数据规范化:按范式合理设计,1NF 要求原子值、无重复组;2NF 在 1NF 基础上消除部分依赖;3NF 在 2NF 基础上消除传递依赖。仅在需要性能时才考虑反规范化。
  • 使用外键:通过外键强制引用完整性,示例中 posts 表的 user_id 引用 users(id) 并设置 ON DELETE CASCADE。
  • 建立合适的索引:为外键、WHERE、JOIN、ORDER BY 涉及的列建立索引,同时提醒不要过度索引,因为会拖慢写入。
  • 使用约束:通过 CHECK、NOT NULL、UNIQUE、DEFAULT 等约束限制数据,例如年龄范围、邮箱唯一、状态枚举。
  • 批量操作:将多条 INSERT 合并为单条多值 INSERT,减少往返开销。

使用方式

该技能以指导性最佳实践和示例代码的形式提供,用户可参照其中的模式编写 SQL。技能附带参考文档,按需读取,内容包括:核心专长、数据库设计、高级查询、索引与性能、事务与并发、高级特性。

其推荐的工作方法为:谨慎设计模式(规范化、约束、索引规划);编写可读查询(格式化 SQL、使用别名、添加注释);优化性能(分析查询、添加索引、避免 N+1);使用事务保证相关操作的数据完整性;始终使用预处理语句防止注入;监控性能、跟踪慢查询、优化瓶颈;定期备份并规划灾难恢复;使用接近生产规模的数据量充分测试查询。

适用场景

适用于需要设计数据库模式、编写或审查 SQL 查询、优化查询性能、管理数据库(索引、约束、事务、备份)等任务,尤其适合同时涉及 PostgreSQL、MySQL 或 SQL Server 的项目。

限制

资料未提供该技能的具体安装命令、收费方式、价格、平台支持范围或效果数据,这些信息暂未提供。