質問

私はこのLINQクエリとの問題を抱えて

from PersistedFileInfo fi in m_Database
from PersistedCommit commit in m_Database
where commit.FileIDs.Contains( fi.ID )
where fi.Path == <given path>
select new Commit( m_Storage, commit );
あなたが見ることができるように

は、すべてのPersistedCommitは、そのCollection<int>sに接続しFileIDsと呼ばれるPersistedFileInfoが含まれています。私は(そのパスで識別される)特定のfileInfoのすべての以前のコミットを選択します。

私は約800 PersistedFileInfosと10 PersistedCommitsを持っています。あまりにも長い間、私のopitionである - クエリは、約1.5秒かかります。ここでは、そう何timelossはありません。

- Commit-オブジェクトのコンストラクタは、2つのだけ与えられた引数を保存します。

私の質問:
このクエリは、より良い実行するために書き換えることができます - ?(代わりにSODAクエリを使用)、または、それはdb4oの問題です。

役に立ちましたか?

解決

してくださいNQが実際に最適化されているかどうかを確認(こちらをご覧くださいを)。そうでない場合は、あなたの最善の策は、自分自身を照会SODAにこれを翻訳することです。

ゴラン

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top