Pregunta

Tengo un problema con esta consulta 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 );

Como se puede ver, cada PersistedCommit contiene una llamada Collection<int> FileIDs que la une a sus PersistedFileInfos. Quiero seleccionar todos los envíos anteriores de un fileinfo específica (que se identifica por su ruta).

Tengo cerca de 800 PersistedFileInfos y 10 PersistedCommits. La consulta tarda aproximadamente 1,5 segundos - que está en mis Opition demasiado tiempo. El contructor de la Commit a objetos guarda sólo los dos argumentos dados -. Lo que no hay timeloss, aquí

Mi pregunta:
Esta consulta puede ser reescrita para un mejor desempeño - o se trata de un problema db4o (SODA utilizar una consulta en su lugar)

¿Fue útil?

Solución

Por favor, compruebe si su NQ es, en efecto optimizado ( ver aquí ). Si no, entonces lo mejor es traducir esto en SODA consultar a sí mismo.

Goran

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top