Frage

Ich habe ein Problem mit dieser Linq-Abfrage:

from PersistedFileInfo fi in m_Database
from PersistedCommit commit in m_Database
where commit.FileIDs.Contains( fi.ID )
where fi.Path == <given path>
select new Commit( m_Storage, commit );

Wie Sie sehen können, enthält jedes PersistedCommit eine Collection<int> genannt FileIDs, die sie ihren PersistedFileInfos verbindet. Ich möchte alle vorherigen Commits eines bestimmten auszuwählen fileinfo (die durch ihren Pfad identifiziert wird).

Ich habe etwa 800 PersistedFileInfos und 10 PersistedCommits. Die Abfrage dauert ca. 1,5 Sekunden - die viel zu lange in meiner opition ist. Der contructor des Commit-Objekts speichert nur die beiden Argumente gegeben -. So gibt es keine timeloss, hier

Meine Frage:
Kann diese Abfrage neu geschrieben werden, bessere Leistungen zu erbringen - oder ist es ein Problem db4o (statt eine SODA-Abfrage verwenden)

War es hilfreich?

Lösung

Bitte überprüfen Sie, ob Ihre NQ tatsächlich optimiert wird ( hier sehen ). Wenn nicht, dann ist die beste Wahl, sich diese in SODA Abfrage zu übersetzen.

Goran

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top