SQL Query Optimizer 技能:改写 NOT IN 前先核对 NULL 语义
EnglishClaude Code 安装步骤
- 从 GitHub 固定提交获取完整的 `plugins/database/sql-query-optimizer/skills/optimizing-sql-queries` 目录。
- 复制到目标项目的 `.claude/skills/`,确认 `.claude/skills/optimizing-sql-queries/SKILL.md`,再从项目根目录启动 Claude Code,输入 `/optimizing-sql-queries`。
中文摘要
用 Claude Code 阅读查询计划和预期结果,避免空值让排除查询得到意外结果。修正后再比较性能。
SKILL.md 中文导读
可复现示例
为商品放入 ID 1、2,禁用表放入 2 和 NULL。比较 NOT IN 与按 ID 匹配的 NOT EXISTS,核对商品 1 是否被保留。工作步骤
- 先写有匹配、无匹配与子查询含 NULL 的用例。比较原查询和候选查询的结果。
- 如果规则是排除存在的匹配 ID,用 NOT EXISTS 表达该规则,再检查计划和行数。
验收方法
按已定义的业务规则,候选保留 1,排除 2。报告说明空值导致的原查询行为并保留测试。
GitHub 原文 · 更新日期
适用环境
准备自己的 PostgreSQL 测试库与合成商品和禁用清单。使用业务规则定义哪些商品应返回。
常见问题
查询改写后只比较执行时间够吗?
先比较结果集合、顺序和边界,再比较计划及耗时。更快的查询也应满足原业务约定。
相关指南
相关推荐
groq-install-auth 技能
jeremylongshore/claude-code-plugins-plus-skills
anima-common-errors 技能
jeremylongshore/claude-code-plugins-plus-skills
apple-notes-hello-world 技能
jeremylongshore/claude-code-plugins-plus-skills
castai-hello-world 技能
jeremylongshore/claude-code-plugins-plus-skills
cohere-local-dev-loop 技能
jeremylongshore/claude-code-plugins-plus-skills
figma-security-basics 技能
jeremylongshore/claude-code-plugins-plus-skills