動的クエリを実行するとき、RavenDBは通常、一時インデックスを作成します。そのId
で文書を検索RavenDBは内部的に "id by document"型のクエリを最適化しますか?
は、この動作をトリガーしません:
var entity = documentSession.Query<Entity>().Single(x => x.Id == 1);
んRavenDBは、クエリのこのタイプのビルトインの最適化がありますか?
動的クエリを実行するとき、RavenDBは通常、一時インデックスを作成します。そのId
で文書を検索RavenDBは内部的に "id by document"型のクエリを最適化しますか?
は、この動作をトリガーしません:
var entity = documentSession.Query<Entity>().Single(x => x.Id == 1);
んRavenDBは、クエリのこのタイプのビルトインの最適化がありますか?
アーノルド、 いいえ、それはではないこの動作を最適化します。
一時インデックスが作成されるため、間違っています。あなたの例が "Temp/Entities/By__document_id"でなければならない場合、
Raven Studioにそのようなインデックスは表示されません。 –
私はちょうどそれを試みた - 私は私の場合にこのインデックスを持っています。すでにIDプロパティを含む別のインデックスがある可能性があり、クエリオプティマイザは新しいtempを作成する代わりにこのインデックスを使用します。しかし、新しい空のレーヴインスタンスがある場合は、一時インデックスが作成されます。 –
私の場合、Raven Studioで表示される一時インデックスは作成されません。実行時のインデックス名は "Dynamic/Entities" –
var entity = documentSession.Load(1);一時的なインデックスを作成せずに動作し、私は非常に高速ですが見つかりました。 –
Phil