用途:帮助优化 SurrealDB 查询性能,适用于查询变慢、扫描记录超出预期,或需要设计记录 ID、选择索引、判断派生值是否预计算等场景。目标为最新的稳定版 SurrealDB,版本相关语法需对照官方文档确认,并用 surreal validate 验证示例。
主要能力: 一、键与记录 ID 设计。记录 ID 按排序存储,应将最具选择性、利于区间查询的部分放在前面,使相关记录聚集,避免全表扫描。优先使用记录区间(如 SELECT * FROM person:1..1000)而非对 ID 做 WHERE。 二、索引策略。为过滤、排序或连接所用字段建立索引,但不宜过多,因为每个索引都会增加写入成本。复合索引字段按选择性从高到低排列,并匹配查询的过滤与排序顺序。索引类型涵盖普通、UNIQUE、全文 SEARCH 与向量索引。 三、验证用法。用 EXPLAIN 或 EXPLAIN FULL 确认查询确实命中预期索引,不要仅凭假设判断已优化。 四、预计算。对开销大、读多的值,使用计算字段、DEFINE TABLE ... AS SELECT 视图或 DEFINE EVENT 维护派生数据,而不是每次查询重算聚合。
使用方式与主题结构:参考资料分三部分——记录 ID 与键结构(references/keys.md)、索引类型与复合顺序、使用验证与重建成本(references/indexing.md)、计算字段与预计算视图、事件维护(references/computed-fields.md)。建议使用绑定参数,既更安全,也让引擎复用查询计划。
限制:资料未提供具体性能数据、版本号、收费或平台信息,均暂未提供。仅针对 SurrealDB,且部分语法随版本变化,需自行核对文档。