代码之家  ›  专栏  ›  技术社区  ›  tanascius

改进db4o linq查询

  •  2
  • tanascius  · 技术社区  · 15 年前

    我对这个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> 打电话 FileIDs 连接到它的 PersistedFileInfo s.我要选择特定fileinfo(由其路径标识)的所有以前提交。

    我有大约800个 持久文件信息 S和10 强行提交 这个查询大约需要1.5秒——这在我看来太长了。的构造者 Commit -对象只保存两个给定的参数-因此这里没有时间损失。

    我的问题:
    是否可以重写此查询以更好地执行?或者这是一个db4o问题(改用soda查询)?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Goran    15 年前

    请检查您的nq是否确实已优化( see here )如果不是这样的话,你最好自己把它翻译成苏打水查询。

    戈兰