Domanda

Ho un problema con questa query LINQ:

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 );

Come si può vedere, ogni PersistedCommit contiene un Collection<int> chiamato FileIDs che lo collega ai suoi PersistedFileInfos. Voglio selezionare tutti i commit precedenti di una specifica FileInfo (che è identificata dal suo percorso).

Ho circa 800 PersistedFileInfos e 10 PersistedCommits. La query richiede circa 1,5 secondi - che è nel mio opition troppo tempo. La contructor del Commit-oggetto salva solo le due date argomenti -. Quindi non c'è timeloss, qui

La mia domanda:
questa query può essere riscritta per eseguire meglio -? o è un problema db4o (utilizzare una query SODA invece)

È stato utile?

Soluzione

Vi prego di controllare se il vostro NQ è infatti ottimizzato ( vedi qui ). Se no allora la cosa migliore è quella di tradurre questo in SODA interrogare se stessi.

Goran

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top