Я пытаюсь db4o, и у меня плохая производительность при использовании linq для db4o. (С использованием 7.12)linq to Db4o не использует индекс
Вот моя конфигурация:
var configuration = Db4oFactory.Configure();
configuration.ObjectClass(typeof(MyTest)).ObjectField("MyInt").Indexed(true);
Вот объект я пытаюсь сохранить:
public class MyTest
{
public int MyInt;
}
И вот мой код с помощью LINQ к db4o (время отклика 650ms):
var test = (from c in repo.ObjectContainer.Query<MyTest>()
where c.MyInt == 6500
select c).FirstOrDefault();
И тот же самый запрос с использованием нативного API (время отклика 28ms):
var query = repo.ObjectContainer.Query();
query.Descend("MyTest");
query.Descend("MyInt").Constrain(6500)
Может кто-нибудь сказать мне, что не так с linq to db4o?
Благодаря
спасибо большое. Я также добавил эту строку в config: configuration.OptimizeNativeQueries (true); И знаю, что мой запрос выполняется в 3 мс :) – Yann