用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/KunanonJ/ai-skills-hub --skill cursor-plugin-convex-rule-query-optimization命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | cursor-plugin-convex-rule-query-optimization |
| description | Use indexes instead of filter() for efficient database queries |
| metadata | {"version":"0.1.0"} |
Avoid using .filter() on database queries. Instead, use indexed queries with .withIndex() or filter in TypeScript after collecting results.
Using .filter() on queries performs a full table scan, which becomes slow as your data grows. Indexes provide fast lookups.
Bad:
const user = await ctx.db
.query("users")
.filter(q => q.eq(q.field("email"), email))
.first();
Good:
// In schema.ts
export default defineSchema({
users: defineTable({
email: v.string(),
name: v.string(),
}).index("by_email", ["email"]),
});
// In your function
const user = await ctx.db
.query("users")
.withIndex("by_email", q => q.eq("email", email))
.first();
If you must filter by a field that doesn't warrant an index:
const allUsers = await ctx.db.query("users").collect();
const filtered = allUsers.filter(user => user.age > 18);