2
개선 나는이 LINQ 쿼리에 문제가있어 : 당신이 볼 수 있듯이db4o는의 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);
이 모든 PersistedCommit
이 PersistedFileInfo
들에 연결하는 Collection<int>
라는 FileIDs
이 포함되어 있습니다. 이전에 특정 fileInfo (경로로 식별)의 모든 커밋을 선택하고 싶습니다.
약 800 PersistedFileInfo
및 10 PersistedCommit
이 있습니다. 쿼리는 약 1.5 초가 걸립니다. 너무 오래 걸립니다. Commit
개체의 생성자는 주어진 두 개의 인수 만 저장하므로 여기에 timeloss가 없습니다.
내 질문 :
이 쿼리가 더 잘 수행하기 위해 다시 쓸 수 있습니다 - 또는 db4o는 문제 (대신 소다 쿼리를 사용)입니까?