选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

避免在查询中进行 ~id 计算

聚焦模式
避免在查询中进行 ~id 计算 - Amazon Neptune

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在查询 IDs 中使用 custom 时,请务必在查询之外执行静态计算,并在参数中提供这些值。当提供静态值时,引擎能够更好地优化查找,避免扫描和筛选这些值。

如果要在数据库中存在的节点之间创建边,则可以选择以下方法:

UNWIND $sections as section MATCH (s:Section {`~id`: 'Sec-' + section.id}) MERGE (s)-[:IS_PART_OF]->(g:Group {`~id`: 'g1'})

带参数:

parameters={sections: [{id: '1'}, {id: '2'}]}

在上面的查询中id,正在查询中计算该节的。由于计算是动态的,因此引擎无法静态内联 ID,最终会扫描所有节点。然后,引擎对所需的节点执行后筛选。如果数据库中有许多节点,这可能会很昂贵。

实现这一目标的更好方法是在传递到数据库的 ID 中Sec-加上前缀:

UNWIND $sections as section MATCH (s:Section {`~id`: section.id}) MERGE (s)-[:IS_PART_OF]->(g:Group {`~id`: 'g1'})

带参数:

parameters={sections: [{id: 'Sec-1'}, {id: 'Sec-2'}]}
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。