4

タスク: 多くのエッジ属性を更新する最速の方法。パフォーマンス上の理由から、私はグラフ メソッドを無視し、フィルタリングのためにコレクションを直接操作します。

アランゴ DB 2.8b3

クエリ [オファー - エッジ コレクション]:

FOR O In Offer
FILTER O._from == @from and O._to == @to and O.expired > DATE_TIMESTAMP(@newoffertime)
UPDATE O WITH { expired: @newoffertime } IN Offer
RETURN { _key: OLD._key, prices_hash: OLD.prices_hash }

_to、_from にシステム インデックスがあり、expired に範囲インデックスがあります

クエリ説明ショー

7   edge   Offer        false    false        49.51 %   [ `_from`, `_to` ]   O.`_to` == "Product/1023058135528"

システム インデックスは、レコードの一部 (_to) のみをフィルタリングするために使用され、両方 (_from、_to) ではなく、「期限切れ」インデックスも使用されません。この動作の理由を説明してください。データ モデルを計画するときに確実にわかっている場合、最短パスに使用されるインデックスのヒントを指定する可能性がありますか?

4

1 に答える 1