You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为SurrealDB的INSIDE查询创建类似PostgreSQL GIN的索引?

在SurrealDB中为INSIDE查询创建类GIN索引的方法

SurrealDB支持为列表/数组字段创建索引来加速INSIDE类查询,实现类似PostgreSQL GIN索引的效果,具体操作如下:

  • 创建目标字段的索引
    直接使用CREATE INDEX语句为列表字段建立索引,SurrealDB会自动为数组内的每个元素构建索引,从而优化包含性查询:

    CREATE INDEX idx_objects_list_field ON objects COLUMNS list_field;
    
  • 验证索引生效情况
    通过EXPLAIN语句查看查询计划,确认索引被正确调用:

    EXPLAIN SELECT * FROM objects WHERE "foo" INSIDE list_field;
    

    若查询计划中显示使用了上述创建的索引,说明配置已生效。

  • 额外注意事项

    • SurrealDB的数组索引内部机制类似PostgreSQL GIN索引,专门针对INSIDE、CONTAINS这类数组包含查询做优化,无需手动指定索引类型。
    • 索引会增加数据写入时的性能开销,建议根据业务的读写比例权衡是否创建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 12:48:29