1
OrientDBのクエリに問題があります。MATCHとSELECTを一緒に使用するとパフォーマンスの問題が発生するOrientDB
SELECT FROM (
MATCH
{class: article, as: article}.in('authorOf'){as: author}
RETURN article, author
) ORDER BY createdAt desc SKIP 0 LIMIT 50
ご覧のとおり、最後の50個の記事を対応する著者と一緒に取得したいと思います。私が直面している問題は、サブクエリがすべての記事を最初に反復し、それを親に渡してからフィルタリングされるということです。明らかにそれほど効果的ではありません。なぜなら、それらの記事が50個だけ必要なときにすべての記事がメモリに読み込まれるからです。
複数のクエリを使用することなく誰かがより良いアプローチを知っていますか?
このクエリで良好なパフォーマンスを得るには、 'createdAt'プロパティのインデックスを定義する必要があります –
@ LuigiDell'Aquilaええ! 'NOTUNIQUE' SBTREEインデックスで私はパフォーマンスが大幅に向上しました。 - 約200ms対20ms –
ありがとう、これは私にいくつかの新しい洞察力を与えた。 – Ruben