【问题标题】:Linq to SQL : Optimizing queries with Sql Server Compact EditionLinq to SQL:使用 Sql Server Compact Edition 优化查询
【发布时间】:2009-06-11 08:11:49
【问题描述】:

我一直在针对 Sql Server CE 使用 Linq to SQL。

数据库是只读的,所以我可以有几个假设。

为了避免访问文件系统,我最初的方法是将所需的实体缓存到应用程序内存中,并使用 linq to objects 对付它们。

虽然它适用于有限的查询,但在需要连接时直接使用 Linq to SQL 优于 Linq to Objects。

回到起点,我想优化我的性能,我现在的想法是强制将整个文件加载到 RAM,并使用 Linq to SQL 来对付它。

有什么想法吗?还有什么想法吗?

爱丽儿

【问题讨论】:

    标签: performance linq-to-sql optimization memory sql-server-ce


    【解决方案1】:

    您的问题似乎是 sql 索引/外键性能与集合迭代器性能。

    Linq to Datasets 确实提供了一种保留关系的方法(更具体地说,ADO.net 数据集有一个关系集合)并且可以强制执行主键、外键和唯一约束。因此,它们的连接性能应该类似于 Linq to SQL,但会在内存中运行。

    根据我对 lite sql 实现的理解,事务可能会对性能产生很大影响,因此只需开始连接

    BEGIN TRANSACTION
    

    如果您可以为所有查询保持连接打开,则可能会产生重大影响。不过,基准测试可能是解决这个问题的唯一可靠方法。

    【讨论】:

      【解决方案2】:

      你试过Linq to DataSet吗?

      您可以将所有内容加载到内存中,并且可以使用 Linq 查询

      我不知道加入是否会像你想要的那样工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多