Ich habe ein Problem mit einer Abfrage in OrientDB.Abfrage Leistungsprobleme bei der Verwendung von MATCH und SELECT zusammen OrientDB
SELECT FROM (
MATCH
{class: article, as: article}.in('authorOf'){as: author}
RETURN article, author
) ORDER BY createdAt desc SKIP 0 LIMIT 50
Wie Sie sehen, möchte ich die letzten 50 neuesten Artikel mit dem entsprechenden Autor abrufen. Das Problem, mit dem ich konfrontiert bin, ist, dass die Unterabfrage zuerst alle meine Artikel durchläuft und sie dann an den Elternteil weiterleitet und dann gefiltert wird. Dies ist offensichtlich nicht sehr effektiv, weil alle Artikel in den Speicher geladen werden, wenn ich nur 50 davon brauche.
Kennt jemand einen besseren Ansatz, ohne mehrere Abfragen verwenden zu müssen.
Um eine gute Leistung in dieser Abfrage zu haben, müssen Sie einen Index auf 'createdAt' Eigenschaft –
@ LuigiDell'Aquila yeah! Mit einem 'NOTUNIQUE' SBTREE-Index habe ich eine große Verbesserung in der Leistung. - ca. 200ms vs 20ms –
Danke, das gab mir ein paar neue Erkenntnisse. – Ruben