我正在尝试使用 db4o 作为我的新网站的后端。
按照我的想法,我已经进行了设置,并插入了大约 5k 条记录(只有一种对象类型,大约有 7 个原始字段)。
根据我读过的一些博客文章,我已将属性设置为非自动属性,并尝试在公共属性公开的私有成员上设置索引。
查询性能真的很差,应该是一个简单的索引查找最多需要 3/4 秒。
我的实现如下:我的“服务器”是一个静态单例,每个应用程序实例只打开一次。
Db4oFactory.Configure().ObjectClass(typeof(MyObject)).ObjectField("_Id").Indexed(true);
server = Db4oClientServer.OpenServer("DatabseName", 0);
然后,查询:
using (var ooDB = server.OpenClient())
{
var movieFound = (from MyObject m in ooDB
where m.Id == IdToFind
select m).FirstOrDefault();
}
我的对象为:
public class MyObject
{
protected string _Id;
public string Id
{
get { return _Id; }
set { _Id = value; }
}
}
对象的 ID 是一个字符串。
我究竟做错了什么!
干杯,戴夫