Улучшение запроса linq db4o
-
20-09-2019 - |
Вопрос
У меня возникла проблема с этим запросом 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 самостоятельно.
Горан