其他
编写、优化或调试 Salesforce SOQL/SOSL…
适用于在 Salesforce 中编写、优化、调试 SOQL/SOSL 查询,包括自然语言生成查询、关系/聚合查询、选择性和性能分析。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 38/100 ×0.15
适用场景
编写、优化或调试 Salesforce 特定
解决思路
- 先询问或推断目标对象、所需字段、过滤条件、排序/限制要求、查询用途(展示、自动化、报表类分析、Apex 使用)、是否已关注性能/选择性。
- 生成最简单正确查询时,只查询所需字段。
- 生成最简单正确查询时,使用清晰 WHERE 条件。
- 生成最简单正确查询时,在适当时候使用合理 LIMIT。
- 生成最简单正确查询时,关系深度只到必要程度。
- 选择查询形态时,从子级获取父级数据用 child-to-parent traversal。
- 选择查询形态时,从父级获取子级行用 subquery。
- 选择查询形态时,计数/汇总用 aggregate query。
- 选择查询形态时,有/无关联行的记录用 semi-join/anti-join。
- 选择查询形态时,跨对象文本搜索用 SOSL。
- 优化选择性和安全性时,检查索引/选择性过滤。
- 优化选择性和安全性时,确保没有不必要字段。
- 优化选择性和安全性时,避免可避免的通配符或扫描繁重模式。
- 优化选择性和安全性时,考虑安全强制预期。
- 如需运行时验证,将执行交给 sf-data。
- 绝不要用 SELECT * 式思维;只查询必需字段。
- 在 Apex 上下文中不要在循环内查询。
- 优先在 SOQL 中过滤,而不是在 Apex 中后置过滤。
- 使用聚合做计数和分组汇总,而不是加载不必要记录。
- 仔细评估通配符用法;前导通配符通常会破坏索引。
- 当查询移入 Apex 时,考虑安全模式/字段访问要求。
- 完成时按顺序报告:查询目的、最终 SOQL/SOSL、为什么选择这个形态、优化或安全说明、如需要执行建议。
- 使用建议输出形状:Query goal: <summary>;Query: <soql or sosl>;Design: <relationship / aggregate / filter choices>;Notes: <selectivity, limits, security, governor awareness>;Next step: <run in sf-data or embed in Apex>。
- 需要运行查询到 org 时,交给 sf-data(执行和导出)。
- 需要将查询嵌入 services/selectors 时,交给 sf-apex(实现上下文)。
- 需要从日志分析慢查询症状时,交给 sf-debug(运行时证据)。
- 需要连接 query-backed UI 时,交给 sf-lwc(前端集成)。
- 从 references/soql-syntax-reference.md、references/query-optimization.md、references/cli-commands.md 开始查阅。
- 专门指导查阅 references/soql-reference.md、references/anti-patterns.md、references/selector-patterns.md、references/field-coverage-rules.md、assets/。
- 按评分指南评估:90+ 生产优化查询;80–89 良好查询,可能可小改进;70–79 功能可用但仍有性能担忧;<70 生产使用前需修订。
适用边界 · 注意事项
- 涉及批量数据操作时,改用 sf-data。
- 涉及 Apex DML 逻辑或将查询嵌入更广泛 Apex 实现时,改用 sf-apex。
- 涉及报表/仪表盘查询,或通过日志而非查询形态调试时,不适用。