Вопрос

У меня возникла проблема с этим запросом 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 содержит Collection<int> называется FileIDs который связывает его со своим PersistedFileInfoс.Я хочу выбрать все предыдущие коммиты определенного файла (который определяется его путем).

у меня около 800 PersistedFileInfoс и 10 PersistedCommitс.Запрос занимает около 1,5 секунд, что, на мой взгляд, слишком долго.Подрядчик Commit-object сохраняет только два заданных аргумента, поэтому здесь нет потери времени.

Мой вопрос:
Можно ли переписать этот запрос, чтобы он работал лучше, или это проблема db4o (вместо этого используйте запрос SODA)?

Это было полезно?

Решение

Пожалуйста, проверьте, действительно ли ваш NQ оптимизирован (глянь сюда).Если нет, то лучше всего перевести это в запрос SODA самостоятельно.

Горан

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top