1
を参照してくださいコード:LiteDBで完全なテーブルスキャンを避けますか?
var lines = new List<PosLine>(){
new PosLine{Name="John", Address="dummy1", Tstamp=DateTime.Now},
new PosLine{Name="Jane", Address="dummy2", Tstamp=DateTime.Now}
};
using(var db = new LiteDatabase(@"test.db"))
{
var posLines = db.GetCollection<PosLine>("POS");
foreach(var line in lines)
{
var id = posLines.Insert(line);
Console.WriteLine("id=" + id.ToString());
}
var names = posLines.FindAll().Select(p => p.Name).ToList();
foreach(var name in names)
{
Console.WriteLine("name=" + name);
}
}
「名前」の一覧を取得しようとしますが、この場合には、それが全表スキャンですvar names = posLines.FindAll().Select(p => p.Name).ToList();
ライン。 「名前」プロパティでインデックスを作成してから、そのインデックスからすべての名前をフェッチするような、フルテーブルスキャンを回避する方法はありますか?
これはまさに私が欲しいものです。ここに問題がオープンしました:https://github.com/mbdavid/LiteDB/issues/269。ありがとう! – neolei