새로운 웹 사이트의 백엔드로 db4o를 사용하려고합니다.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 문자열입니다.
내가 뭘 잘못하고있어!
건배, 데이브
사실 db4o-LINQ 구현은 속성 뒤에있는 필드를 찾습니다. – Gamlor