You need to enable JavaScript to run this app. 能否创建包含_id或_key的复合索引及_id+users持久化索引提速查询
优惠活动
大模型
产品
解决方案
定价
更多

能否创建包含_id或_key的复合索引及_id+users持久化索引提速查询

能否创建包含_id或_key的复合索引

完全可以。ArangoDB 中_id、_key、_rev这类系统内置字段和普通自定义字段的索引规则完全一致,没有特殊限制,可以作为任意复合索引的组成部分。

能否为_id和users字段创建持久化索引加快 user key 查询

完全可以,且这个优化方案的收益非常高:

  • ArangoDB 的持久化索引原生支持数组类型字段,创建包含users的索引时,会自动为数组内的每一个用户 key 生成独立的索引条目,完美适配按单个 user key 检索的场景。
  • 你可以根据常用查询逻辑调整索引字段顺序:
    • 若查询逻辑为先按 user key 过滤、再返回对应文档的_id,把users放在复合索引的前缀位置,符合索引最左匹配原则,查询效率更高,创建语句参考:
      db.mycollection.ensureIndex({
        type: "persistent",
        fields: ["users", "_id"]
      })
      
      这种结构的索引属于覆盖索引,查询仅需要返回_id时不需要读取原始文档,仅通过索引就能完成整个请求,性能会进一步提升。
    • 若查询逻辑为先指定文档_id、再判断某个 user 是否在users数组中,把_id放在索引前缀即可。

内容的提问来源于stack exchange,提问作者Flajt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 18:18:03